2012-03-06 3 views
0

У меня есть Zope/Plone WS, который вызывает некоторые функции, написанные на Python. Это WS вызывается PHP-страницами (utf-8 в заголовок), но символы не отображаются.Японские и русские символы - веб-кодирование?

Я пытался декодировать (по возможности) специальные символы в сущности (в Python), и это работает, но не все символы имеют соответствующие объекты HTML.

Я попытался сохранить исходный файл Python в формате UTF-8, но я думал, что это неправильный путь.

Может кто-нибудь помочь?

примечания: Я прохожу через некоторые php include, если это может быть намек ...

Редактировать это странно, потому что если я вхожу все «куски» по отдельности, то у меня есть правильные символы закодирован. Если я поднимусь на «главную страницу php» (где я буду включать все части), это все испортит.

Очевидно, что "главная страница PHP" имеет, что:

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

Просьба представить более подробную информацию. Что называется, как именно, где персонажи прикручиваются (?)/Исчезают (?), Что вы получаете и не получаете? И BTW, каждый символ Юникода имеет объект HTML, если только числовое. – deceze

+0

@deceze: ok, но я не могу заменить каждый символ числом. Это было бы безумие. Кстати, прикручивание символов - это такие символы, как (é, è, ì и jappanese и русские символы). – DonCallisto

+0

Все языки имеют функцию, которая будет кодировать ваши строки как объекты HTML. Надеюсь, вы не делали этого вручную? И хорошо, да, в какой-то момент вы неправильно обрабатываете кодировки, поэтому ваши персонажи напортачиваются. Без дополнительной информации невозможно сказать, где именно. – deceze

ответ

0

Я только что редактировал файл site.py python. Я следую этому руководству: click here и все в порядке. Спасибо всем за помощь.

2

496e73e972657220646174652064926172726976e9652065742064652064e970617274

Эта строка кодируется в ISO-8859-1, а не UTF-8.

Где-то вы преобразовываете свои строки в ISO-8859-1, что означает, что они не интерпретируются правильно при попытке интерпретировать их как UTF-8, и все неевропейские символы будут отброшены с ISO-8859- 1 не может кодировать ничего, кроме нескольких европейских символов.

+0

Я не делаю никаких преобразований. Моя строка начинается как unicode и никогда не преобразуется. Итак, это вопрос php или apache? – DonCallisto

+0

Я не знаю, потому что вы не указали никаких подробностей или не указали какой-либо код! Дело в том, что строка не UTF-8. Попытайтесь выяснить, в какой точке именно это не UTF-8. – deceze

+0

Я не даю никакой строки кода, потому что это сложный код: WS, PHP и PYTHON. Я рассказал вам все, и сценарий - это то, что я описал ранее. Я благодарю вас за помощь, но я не могу предоставить ни одну строку кода, или мне нужно передать весь проект. – DonCallisto

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