2010-05-03 3 views
0

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

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

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

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

Спасибо!

L

+0

Можете ли вы показать, как выглядит экранированный вывод Zend? –

ответ

1

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

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

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

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

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

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

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

+0

Большое спасибо, Пекка. Мне удалось исправить эту проблему, убедившись, что все были UTF8, включая исходные файлы. – user307927