Кто делает конвертацию при копировании / вставке? - PullRequest
4 голосов
/ 27 апреля 2011

Предположим, у меня есть поле ввода на веб-странице с кодировкой UTF8; Предположим, я открываю текстовый файл с кодировкой ISO-8859-1 в качестве кодировки.

Теперь я копирую и вставляю строку со специальными символами (например, ô) из файла в поле ввода: я вижу, что специальные символы правильно отображаются в поле ввода.

Кто делает преобразование из ISO-8859-1 в UTF8? Браузер?

Ответы [ 2 ]

4 голосов
/ 27 апреля 2011

Когда вы открываете файл и копируете / вставляете его в браузер, он заканчивается в Юникоде, поскольку это то, что элементы управления пользовательского интерфейса браузера используют для внутреннего использования. Кто на самом деле выполняет преобразование из ISO-8859-1 в Unicode, зависит от нескольких факторов (какую ОС вы используете, скомпилирован ли выбранный вами текстовый редактор для использования Ansi или Unicode, какой формат (ы) буфера обмена - CF_TEXT для Ansi CF_UNICODETEXT для Unicode - приложение использует для копирования и т. Д.). Но в любом случае, когда веб-браузер отправляет форму, он во время передачи кодирует свои данные Unicode в кодировку HTML / формы.

3 голосов
/ 27 апреля 2011

По всей вероятности, он на самом деле не конвертируется в UTF-8, а вместо этого во внутреннее представление символов, используемых браузером, которое, скорее всего, будет UTF-16 (независимо от кодировки веб-страницы). .

...