Unicode и PHP - я что-то не так делаю? - PullRequest
0 голосов
/ 07 апреля 2010

Я использую Kohana 3, которая полностью поддерживает Unicode.

У меня это как первый ребенок моего <head>

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

Символ Unicode, в который я вставляю, - это как в Café.

Тем не менее, я получаю треугольник с? (как в не может декодировать символ).

Насколько я могу судить в своем собственном коде, я не делаю никаких текстовых манипуляций со строками.

Фактически, я поместил акцент прямо в PHP-файл представления, и он все еще не работает.

Я скопировал персонажа с этой страницы: http://www.fileformat.info/info/unicode/char/00e9/index.htm

Я только начал изучать ограничения PHP в Юникоде, поэтому могу сделать что-то ужасно неправильное.

Итак, как мне отобразить этот символ? Нужно ли прибегать к сущности HTML?

Обновление

Так что это работает

Caf<?php echo html_entity_decode('&#233;', ENT_NOQUOTES, 'UTF-8'); ?>

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

Ответы [ 2 ]

1 голос
/ 07 апреля 2010

Просмотр заголовков http. Вы должны увидеть что-то вроде

Content-Type: text/html; charset=UTF-8

Браузеры не обращают особого внимания на метатеги, если существует настоящий http-заголовок с другой кодировкой.

обновление

Что вы получите от этого?

echo bin2hex('é');
echo chr(0xc3) . chr(0xa9);

Вы должны получить c3a9é , иначе я бы сказал, что проблема с кодировкой файла.

0 голосов
/ 07 апреля 2010

Полагаю, вы видите , символ замены для недопустимых байтовых последовательностей UTF-8. Ваш текст не в кодировке UTF-8. Проверьте настройки вашего редактора, чтобы контролировать кодировку файла PHP.

Если вы не уверены в кодировке своих источников, вы можете применить совместимость с UTF-8, как описано здесь (текст на немецком языке): Force UTF-8 .

Вы никогда не должны нуждаться в сущностях, кроме основных .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...