1

Хорошо, я не знаю, если это вопрос программирования, но это, безусловно, технический вопрос, поэтому я задаю его здесь. Я работал над некоторыми вещами интернационализации в моем PHP-коде, и для того, чтобы мой сгенерированный HTML-код правильно отображал Unicode, основываясь на кодировке и прочем, я решил добавить немного китайского текста на мою страницу PHP, которая затем отображает его в браузере чтобы завершить мой контрольный пример.

Поэтому я зашел в гугл и набрал "китайский", скопировал первый китайский текст, который вернул поиск (который был 汉语/漢語). Затем я скопировал его в Notepad++ который является моим редактором, и, к моему удивлению, появился в виде блоков, похожих на [][]/[][] . Поэтому я подумал, что кодировка в Notepad++ испортилась, и я изменил кодировку на UTF-8 и UCS , но ни одна из них не работала. Я сделал это свежим в недавно закодированном файле, все еще я получил коробки. Тот же самый контент, когда я вставляю в Google и StackOverFlow (как я сделал в этой публикации), показывает правильный китайский!

Я даже открыл Windows Clipboard Viewer и содержимое представлено в буфере обмена как поля! Я попытался вставить его в Windows Explorer address bar и использовать для переименования файла, но я все еще получаю коробки. Но он отображается правильно при вставке в адресную строку моего Chrome Browser address bar !

Это проблема Windows? Так как я могу правильно вставить его в SO, данные в памяти должны быть правильно закодированы, верно? Но если это так, почему он отображается в виде блоков в средстве просмотра буфера обмена?

Я запутался здесь ...Кстати, я использую Windows XP with SP3 .

(Я задаю этот вопрос здесь, даже если он не является программным, потому что он мешает мне запускать мои тесты программирования ..)

2 ответа2

1

С английской копией Windows XP вы должны явно указать Windows, что вам нужна дополнительная поддержка для более сложных сценариев. У меня нет окна XP передо мной, но попробуйте запустить в Панели управления -> Региональные настройки и искать варианты для установки международной поддержки текста. Вам может понадобиться ваш оригинальный установочный носитель.

На этом этапе будут установлены дополнительные шрифты и таблицы, необходимые для Windows. Вы видите, что это работает на веб-страницах, потому что браузеры эпохи XP, как правило, выполняют большую часть работы сами. Большинство других приложений ожидают, что Windows выполнит всю работу по связыванию и восстановлению шрифтов, а Windows XP по умолчанию не устанавливает всю эту поддержку.

Я считаю, что более новые версии Windows, такие как Vista и 7, устанавливают все шрифты и таблицы по умолчанию.

0

Причина, по которой Notepad++ не показывает правильные символы, возможно, в том, что кодировка документа была «ANSI». Поскольку китайские иероглифы не представлены в «ANSI», они были спрятаны. Notepad++ странно работает с кодировками. Но простое решение - установить через меню меню кодировку UTF-8, прежде чем вставлять что-либо.

В других контекстах отображение китайских иероглифов может завершиться неудачей, поскольку при рендеринге используется шрифт, который их не содержит. Здесь есть большая вариация. Многие программы могут использовать другие шрифты, если основной шрифт не содержит какой-либо символ, который появляется в тексте.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .