2013-12-09 3 views
0

Мой сайт отображается в Twig. У меня есть метатег, который отображает HTML-номера вместо фактического китайского символа. Мне интересно, как я могу заставить его проявить настоящий китайский характер?Сайт, выводящий HTML-код вместо азиатских символов

Я заметил, что если я сделаю это с помощью <p>, фактический исходный код сделает с помощью HTML-номеров, но похоже, что браузер переводит его на фактический китайский символ.

Обратите внимание, что проблема, которую я имею здесь, связана с Facebook. Когда Facebook сбрасывает мою страницу, они читают значение og:description, которое представлено как объекты HTML.

код: <meta name="og:description" content="{{ product.description }}"/>

фактический выход: <meta name="og:description" content="&#28858;&#12298;&#27054;&#35709;&#21235;&#31456;&#65306;&#37941;&#34880;&#24717;"/>

ожидается выход: <meta name="og:description" content="為《榮譽"/>

+0

Эти объекты называются объектами HTML. Любой анализатор HTML будет считать их правильным символом; у вас на самом деле нет проблемы. – SLaks

+0

@SLaks К сожалению, Facebook не читает их правильно. Когда Facebook сбрасывает мою страницу для описания, Facebook захватывает эти объекты HTML вместо этого. – Jon

+0

Как вы вводите китайских иероглифов в первую очередь? Кого вы просто не копируете и не вставляете в тег 'meta'? –

ответ

0

Во-первых, убедитесь, что страница UTF-8 кодируются и объявлен как UTF-8. См. Материал W3C по адресу character encodings, если необходимо.

Затем, при создании HTML-документа с использованием базы данных, преобразуйте ссылки символов, такие как #28858;, в соответствующие символы в кодировке UTF-8. В PHP вы можете использовать для этого mb_decode_numericentity.

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