2013-05-23 4 views
-2

Я разбираю XML-файл. XML кодируется в utf-8. Когда слова содержат специальные символы, они искажаются. Я не могу управлять файлом xml, но есть ли что-нибудь, что я могу сделать в конце, чтобы правильно отображать слова?Специальные символы (проблема с кодировкой)

Пример

Shows up as: Skövde 
Should Be: Skövde OR Skovde 
Shows up as: Kaposvári Rákóczi 
Should be: Kaposvári Rákócz OR Kaspovari Rakocz 

Что я могу сделать, чтобы преобразовать первый, на второй через PHP? Есть много других случаев, это просто слишком быстро.

Редактировать: Я не уверен в проблемах с окраской. Они ничего не значат. edit 2: xml уже содержит слова в состоянии «Показывать», которое я написал. Дело не в том, что я читаю их неправильно. Xml показывает Skövde, и я читаю Skövde. Это действительно должен быть Skövde. Теперь мне нужно в конце, чтобы преобразовать его в то, что должно быть.

+0

Можете ли вы предоставить сценарий, который анализирует XML? И где вы пытаетесь вывести его. – claustrofob

+0

где вы видели этот выход? в базе данных, на веб-сайте вашего браузера, в другом файле, который вы написали? пожалуйста, отправьте свой пример кода. – steven

+0

[Что каждый программист абсолютно уверен, должен знать о кодировках и наборах символов для работы с текстом] (http://kunststube.net/encoding/), [Обращение с Unicode Front To Back в Интернете App] (http://kunststube.net/frontback/) – deceze

ответ

1

Возможно, вы правильно читаете XML (т. Е. Вы получаете строки utf-8 из XML-документа), однако вы не показываете их правильно.

Вы показываете строки utf-8 на странице, которая не находится в utf-8.

Вы должны либо конвертировать строки перед отображением:

(Предполагается, что кодирование вашей страницы является изо-8859-1, если вы не знаете, смотрите на странице информаций в вашем браузере)

mb_convert_encoding($str, "iso-8859-1", "utf-8"); 

Или установить кодировку страницы на UTF-8:

header('Content-Type: text/html; charset=utf-8'); 

// or (in html) : 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
+0

Я отредактировал вопрос с более подробной информацией из комментариев. – user1695981

Смежные вопросы