У меня проблема с динамической загрузкой части контента на странице ASP classic. Я использую AJAX для загрузки на страницу динамически, в зависимости от выбранного варианта. Сгенерированный содержит некоторые ярлыки для размещения выпадающих списков и текста варианта внутри выпадающих меню. Ярлыки - это константы, закодированные в UTF-8, и содержат некоторые символы с акцентом в западноевропейских странах, а дополнительные тексты загружаются из базы данных, содержат символы с акцентом, но кодируются в ANSI. теги установлены на utf-8, но это влияет только на первую загрузку страницы, потому что все они собраны на странице. После выбора других параметров AJAX заполняет элементы, и он хорошо загружает ярлыки, но текст параметров перепутан, поэтому я думаю, что AJAX не загружает кодировку с текстом второй и т. Д. Обход должен был изменить текст метки в константах и установить <% Response.Charset = "windows-1252"%> на странице, загружаемой впервые. Теперь я хочу найти лучший способ для этого, прежде всего, в ответе AJAX, чтобы установить его все в UTF-8 или windows-1225 или установить для каждого элемента на странице разные коды с помощью ajax. Я даже попробовал функцию Replace от ASP classic, он работает, но опять же для каждого нового акцентированного письма требуется другое. Любая помощь ценится! :)Неверная кодировка в ASP classic, загружаемая через AJAX
1
A
ответ
3
Я думаю, что лучший способ решить проблемы с кодировкой - переключиться на utf-8. Это не только устраняет головную боль обработки специальных символов на вашем родном языке, но в значительной степени (как я понимаю utf-8) все языки!
Во-первых, включите в HTML-текст следующий метатег.
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Вам также потребуется установить UTF-8 в верхней части всех ASP-файлов, которые участвуют.
response.codepage = 65001
response.charset = "utf-8"
Обратите внимание, однако, что символы, размещенные в и из ваших ASP-страниц (через форму, например) будет интерпретироваться как UTF-8. Внутренне строки сценария скрипта хранятся как unicode. Убедитесь, что последовательно сохраняйте данные в формате unicode в базе данных.
Читать ответ на этот question для более глубокой информации
Смежные вопросы
- 1. Неверная кодировка ajax jQuery
- 2. Asp classic и ajax
- 3. Classic ASP + Ajax
- 4. Classic asp and ajax
- 5. Проблема кодирования classic ASP
- 6. Выбрано с Ajax в Classic Asp
- 7. Неверная кодировка в mysql
- 8. AJAX возвращает включенные файлы из Classic ASP
- 9. Classic Asp Persits Загрузка и JQuery Ajax
- 10. Возврат ASP Classic Variable to JQuery Ajax
- 11. Classic ASP Auto complete
- 12. Календарь в ASP Classic
- 13. Переполнение в ASP Classic
- 14. java.io.UTFDataFormatException: Неверная кодировка UTF8
- 15. Classic ASP Bottlenecks
- 16. Classic ASP Screen Scraping
- 17. Неверная кодировка в Windows 7
- 18. Неверная кодировка в ответе HTTP
- 19. Неверная кодировка в общих настройках
- 20. Ingres with Classic ASP
- 21. Безопасность Classic ASP
- 22. split() in Classic asp
- 23. Regex Classic ASP
- 24. classic asp cint
- 25. classic asp server.transfer error
- 26. .net и classic asp
- 27. Classic ASP Connection
- 28. Lucene и Classic ASP?
- 29. Classic ASP crash курс
- 30. Classic ASP - BOF
Я знаю, что. включен на каждую страницу, но когда я загружаю данные из БД, он автоматически изменяется на utf-8 и на странице что данные повреждены. Изменение типа данных БД не является вариантом, потому что наша БД слишком велика и широко используется. Это уникальная проблема cos 2 разных источников данных (.asp LIB и DB). Я думаю получить ответ от ajax, затем отфильтровать его (.filter()) и добавить charset = utf-8 в раскрывающийся ярлык, а charset = windows-1252 - в раскрывающихся списках параметров. Не могу найти, как фильтровать обе вещи в то же время, потому что cos 1 part удаляется – user1271080
Это ужасная идея для хранения utf-8 внутри базы данных. Любая операция над этими данными, скажем, SQL, должна знать, что это utf-8. Для такой простой операции, как измерение длины строки yo urun в большие проблемы. Храните юникод внутри вашего db. – Paul
@Paul Я изменил свой ответ на основе вашего комментария. Пожалуйста, убедитесь, что я понял. Если было бы правильно, было бы неплохо, если бы вы удалили отрицательный голос. Имейте приятную пятницу! :) – David