Чтобы устранить искаженный код JSP, вы должны сначала понять причины искаженного кода JSP.
1. При настройке сервера и установке MYSQL вам будет предложено выбрать кодировку. Если эта кодировка не соответствует вашей веб-странице. может привести к искажению страницы JSP.
2. При создании базы данных в таких системах, как PHPMYADMIN или mysql-front, вам будет предложено выбрать кодировку. Если эта кодировка несовместима с вашей веб-страницей, это также может привести к искажению страниц JSP.
3. При создании таблицы вам будет предложено выбрать кодировку. Если эта кодировка не соответствует кодировке вашей веб-страницы, это также может привести к искажению страницы JSP.
4. Вы можете выбрать кодировку при добавлении полей при создании таблицы. Если эта кодировка не соответствует кодировке вашей веб-страницы, это также может привести к искажению страницы JSP.
5. Кодировка страницы JSP, отправленная пользователем, несовместима с кодировкой страницы JSP, отображающей данные, что определенно приведет к искажению страницы JSP.
Например, страница JSP, на которой пользователь вводит данные, находится в коде big5, но страница JSP, на которой отображается пользовательский ввод, находится в коде gb2312. Это на 100% приведет к искажению страницы JSP.
6. Обратите внимание, что набор символов неверен:
1. Текст, который вы обычно видите на некоторых веб-сайтах, может иметь несколько кодировок. Например, если вы видите традиционный китайский символ, это может быть кодировка big5, это может быть кодировка utf-8 или кодировка gb. то есть есть традиционные китайские иероглифы, закодированные на упрощенном китайском языке, а также есть упрощенные китайские иероглифы, закодированные на традиционном китайском языке. Вы должны это понимать.
Если вы создаете веб-страницу с упрощенной китайской кодировкой, устанавливается кодировка GB2312. Если посетители из Гонконга и Тайваня отправляют информацию на традиционном китайском языке, это может привести к искажению кодов. Решение: (1) Установите кодировку веб-сайта на utf-8. , чтобы он был совместим со всеми символами мира (2) Если веб-сайт работает в течение длительного времени и содержит много старых данных, а настройки упрощенного китайского языка невозможно изменить, рекомендуется установить страницу. кодировка в GBK.
Разница между GBK и GB2312 заключается в том, что GBK может отображать больше символов, чем GB2312. Для отображения традиционных символов в упрощенном коде можно использовать только GBK.
7. Кодировка, указанная в операторе подключения JSP к базе данных MYSQL, неверна.
8. Если на странице JSP не указана кодировка для отправки данных, это приведет к искажению кода.
Таким образом, причины искажения кода JSP не что иное, как вышеизложенное. Зная причины, гораздо проще решить проблему искажения JSP. код. Давайте выразим их один за другим:
1. Если код установки MySQL не может быть изменен, многие друзья покупают виртуальные хосты для создания веб-сайтов и не имеют права менять код установки MYSQL. Мы можем пропустить этот шаг, потому что, если следующие шаги верны, проблему искаженного кода все еще можно решить.
2. Измените кодировку базы данных. Если кодировка базы данных неверна: вы можете выполнить следующую команду в phpmyadmin: ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin.
Приведенная выше команда предназначена для установки кодировки тестовой базы данных на utf8.
3. Измените кодировку таблицы: ALTER TABLE `category` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
Приведенная выше команда предназначена для изменения кодировки категории таблицы на utf8.
4. Измените кодировку поля:
ALTER TABLE `test` CHANGE `dd` `dd` VARCHAR( 45 ) НАБОР СИМВОЛОВ utf8 COLLATE utf8_bin NOT NULL
Приведенная выше команда предназначена для изменения кодировки поля dd в тестовой таблице на utf8.
5. Если эту ситуацию легко решить, просто проверьте страницу и измените кодировку исходного файла.
, //Если это правильно, проблем не будет
6. В этом случае вы также можете изменить кодировку страницы.
7. В операторе JSP для подключения к базе данных:
частная строка url="jdbc:mysql://localhost/"+DB_NAME+" user="+LOGIN_NAME+"&password="+LOGIN_PASSWORD+"&characterEncoding=GBK" //Ключ зависит от кодировки символов
8. В случае искажения символов просто добавьте request.setCharacterEncoding("GBK") в начале страницы, просто укажите отправленные
данные. Примечание. После внесения изменений в соответствии с описанным выше методом вы можете только убедиться, что ваши вновь вставленные данные; данные не будут искажены. Например. Если данные, отправленные вашим пользователем, имеют размер BIG5, но вы хотите использовать описанный выше метод, чтобы изменить их правильное отображение на веб-странице GB2312, это невозможно. преобразование можно решить только путем написания другой программы, пожалуйста, WEB745.com другие статьи по теме
Краткое описание: Во-первых, вам необходимо определить, искажаются ли символы JSP после вставки в базу данных или же страница JSP искажается сразу после ее отправки. Если JSP искажается сразу после получения данных с предыдущей страницы, возможно, набор символов неправильный, но request.setCharacterEncoding не добавляется ("GBK");
Если это связано с базой данных, обратитесь к методам 2, 3 и 4 выше.
Это может быть проблема с кодировкой. Подключитесь к базе данных вот так и посмотрите.
jdbc:mysql://localhost:3306/xxxx useUnicode=true&characterEncoding=UTF-8
Посмотрите, работает ли это