2015-10-12 4 views
1

У меня есть массив текста на японском языке, как это:печать японский с угловой

[ 
    "火影忍者", 
    "―ナルト―", 
    "Наруто" 
] 

Я хочу, чтобы напечатать в объеме, но только получить & #codes

страница уже есть:

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

Что мне не хватает?

ответ

0

Вы должны использовать строковые литералы. Здесь вы используете html-объекты. Но его можно интерпретировать только внутри html. Javascript будет просто печатать текст как есть.

Вместо этого вы должны использовать литералы в формате unicode. Литерал unicode будет интерпретироваться парсером строки javascript, поскольку он понимает, что символ не ascii.

Код гольца: 28779 -> шестнадцатеричного -> 706B -> к буквальному -> \ u706b

Так что ваша строка стала (обратите внимание на последнюю строку с кириллицей как 0 обивки спереди):

[ 
    "\u706B\u5F71\u5FCD\u8005", 
    "\u2015\u30CA\u30EB\u30C8\u2015", 
    "\u041D\u0430\u0440\u0443\u0442\u043E" 
] 

Но на самом деле зачем это делать? Вместо этого вы можете просто вывести строку непосредственно в utf-8, как если бы ваш файл был правильно сохранен в utf-8.

[ 
    "火影忍者", 
    "―ナルト―", 
    "Наруто" 
] 

Это просто работает.

+0

Я получаю эти массивы из xhr, все исходные и скомпилированные js и html-файлы имеют utf-8. Я даже поставил этот массив в '', но все равно не работает, попробуем сегодня днем ​​систему декодирования, которую вы предлагаете –

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