2012-04-07 25 views
6

Estoy creando un mapa del sitio XML desde mi base de datos, se trata de videos sitemap. En XML, estoy buscando el título del video como title y la descripción como description, pero hay algunos títulos y descripciones escritos en tailandés, portugués, alemán y otros idiomas. Al generar el XML a través de PHP Estoy frente a un problema que dice:Error de análisis XML: no está bien formado

"XML Parsing Error: not well-formed".

generación del XML se detiene después de encontrarse con este error.

XML Parsing Error: not well-formed 
Location: http://localhost/mydesk/sitemap.php 
Line Number 24489, Column 69: 

Observé que contenía caracteres no válidos como indican a continuación, y he reemplazado todos los tipos de estos personajes, pero me di cuenta de que hay otros personajes que se utilizan en otros idiomas.

Ð ž ´ Ø ¸ à ½ Ð ‰ ˆ Ù ° § ¼ ¡ ‹ ± …  ³ è ¾ Ñ € ¦ ƒ Ñ ‡ ª Ñ Ï ¿ ¬ µ š † Ð ½ ¹ Œ ² Ð ¼ Î ¶ € Ð µ ] : å < * © > % â © # " ' ä æ ï ã Š ç › Š º Ž ¥ œ • ¤ ç ã ® ˜ ¢ ¨ ¯ £

¿Hay alguna manera de manejar este problema que admite todos los idiomas?

+1

Necesitarás publicar más información. El "error de análisis XML" ocurre cuando algo intenta _read_ el XML, no cuando se está generando. Además, "no bien formado" generalmente se refiere a errores en la estructura del documento, como una etiqueta final faltante, no los caracteres que contiene. Explique con mayor claridad con exactitud CUÁNDO obtiene este error y publique el mensaje de error completo con el seguimiento de la pila. –

+0

Especifique la codificación correcta en el encabezado xml. Algo así como . E intenta de nuevo. – elrado

+0

En el encabezado ya estoy usando: header ("Content-Type: text/xml charset = utf-8"); echo ''. "\norte"; Pero sin suerte :( – user838037

Respuesta

2

Si recibe este mensaje de error tratar de ver la fuente de la página pulsando Ctrl +T lo general, no es un símbolo " en el lugar equivocado. Y revisa tu sintaxis html.

0

¿Puedes abrir tu documento xml en un editor hexadecimal? Si es así, vea si se necesita 1 byte por carácter o 2. Si toma 2 bytes por carácter, debería probar con UTF-16 para la codificación. Si tiene en cuenta que la única codificación que puede garantizar que un analizador es compatible es UTF-8. Debería soportar UTF-16 también, pero no todos lo hacen.

Cuestiones relacionadas