Кодировка UTF8, диакритические элементы, проблемы преобразования - и выход из Zend Framework - PullRequest
0 голосов
/ 03 мая 2010

Я пишу веб-приложение на ZF и у меня серьезные проблемы с UTF8. Он использует многоязычный контент через Zend Form, и кажется, что ZF сильно экранирует все эти символы и в основном просто не будет показывать поле, если есть диакритические элементы «é» и если я использую эквивалент сущности HTML, например, & Eacute; он экранируется, так что пользователь увидит '& eacute;'.

Zend Form позволяет иметь не экранированные данные, но попытки использовать это сбивают с толку, и кажется, что их нужно будет использовать повсюду.

Итак, мне сказали, что если страница и текст в формате UTF8, преобразование в htmlentities не требуется. Это правда?

А если последний вопрос верен, то как мне преобразовать исходный текст в UTF8? Мне удобно настроить apache так, чтобы он отправлял заголовок кодировки UTF8 по умолчанию, а также добавлял метатег charset в html, но при этом я все еще запутался в кодировке. Я также попытался открыть CSV-файл перевода в TextWrangler на OSX как UTF8, но он ничего не сделал.

Спасибо!

L

1 Ответ

1 голос
/ 03 мая 2010

'é', и если я использую эквивалентную сущность HTML, например, é это экранируется, так что пользователь увидит 'é'.

Это я не понимаю. Можете ли вы показать пример того, как он отображается, а не как он должен отображаться?

Итак, мне сказали, что если страница и текст в формате UTF8, преобразование в htmlentities не требуется. Это правда?

Да. Более подробно: если отображаемые данные и кодировка HTML-страницы имеют формат UTF-8, многобайтовые специальные символы будут отображаться правильно.

И если последний вопрос верен, то как мне преобразовать исходный текст в UTF8?

Расширенные редакторы и IDE позволяют вам определить, в какой кодировке сохранен исходный файл. Вам необходимо открыть файл в его текущей кодировке (с отображением специальных символов) и сохранить его как UTF-8.

Если содержимое испорчено, когда у вас есть правильный заголовок типа содержимого и / или метатег, то это еще не UTF-8. Если вы не разберетесь, опубликуйте пример того, как это выглядит здесь.

...