URL, Выходящий из китайских/Японских Символов Unicode для Internet Explorer

ассемблер Zeus, было лучшим.

я добавил бы несколько книг Спектра там, если я мог бы помнить имена, все еще иметь их дома. Каждый был Полным Дизассемблированием ROM Спектра Ian Logan и Frank O'Hara (ISBN 0 86161 116 0), который был прокомментирован и описан, как будто это был источник, фантастическая часть инженерного анализа, включая предложенное исправление ошибки для известных ошибок ROM. Если только флэш-память была вокруг в те дни. Я также запомнил крошечную книгу, названную Руководством Семинара Z80, которое было большой сводкой процессора.

8
задан Bear 2 December 2009 в 18:27
поделиться

6 ответов

IE использует UTF-8 для URL-адресов HTTP, но я не уверен насчет URL-адресов файлов (хотя я тестировал это поведение в составе команды IE около 10 лет назад). Если вы используете URL-адреса в HTML, я бы рекомендовал попробовать строковые литералы (если кодировка вашей страницы - UTF-8) или числовые ссылки на символы (& # dddd;). IE обычно преобразует символы в соответствующую кодировку, которая будет UTF-8 для материалов HTTP и UTF-16 для взаимодействий с локальной файловой системой.

На самом деле экранирование URL необходимо для HTTP, а не для парсера HTML.

1
ответ дан 5 December 2019 в 22:19
поделиться

Извините, решения нет, но, возможно, есть хоть какая-то дополнительная информация о том, что здесь может происходить. (Возможно, вы уже это поняли, но, возможно, это поможет другому читателю найти решение.) «Официальная» спецификация кодирования URL-адресов, кажется, оставляет дверь открытой в отношении того, как декодировать экранированные URL-адреса, подобные тем, которые вы генерируете. --экранированные объекты предназначены для представления символов UTF-8 (поскольку Firefox и т. д. интерпретируют их) или символов ASCII (поскольку IE интерпретирует их)? Я не знаю ни одного способа принудительно применить намеченную стратегию декодирования.

Просто вопрос: что плохого происходит, если вы вообще не избегаете их, а оставляете юникод в URL-адресе? Хотя у меня нет большого опыта в этом, Мне показалось, что я где-то читал, что дни, когда нужно было избегать юникода в URL-адресах, остались позади. Могу ошибаться в этом ...

1
ответ дан 5 December 2019 в 22:19
поделиться

Попробуйте кодировать только те части URI, которые могут привести к неправильному синтаксическому анализу. Например, закодируйте &,? И пробел. Оставьте все остальное как есть, и все должно работать как шарм.

Если вы все еще сталкиваетесь с проблемами, вам может потребоваться установить тип содержимого как utf в заголовках http. Что-то вроде Content-type: text / html; charset = UTF-8.

1
ответ дан 5 December 2019 в 22:19
поделиться

Почему бы просто не использовать escape-последовательности Unicode? Вставьте это в тело веб-страницы HTML, чтобы понять, что я имею в виду:

   <script type="text/javascript">
      var fileName = "日本語.jpg";
      document.write(escape(fileName));
   </script>

Я получаю% u65E5% u672C% u8A9E.jpg.

1
ответ дан 5 December 2019 в 22:19
поделиться

Из чего я После тестирования я заметил, что IE не обрабатывает URL-адреса закодированных файлов, но обрабатывает обычные URL-адреса http, так что это может быть проблемой. Я не знаю, как вы их загружаете, но вам следует проверить эту проблему.

1
ответ дан 5 December 2019 в 22:19
поделиться

протокол file: // зависит от настроек региона вашей ОС, если в настройках вашей системы не китайский, а английский, вы не можете позволить IE сделать это.

1
ответ дан 5 December 2019 в 22:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: