В веб -проекте Java метод решения искаженного кода Китая приведен следующим образом
Первый случай: вызов странице JSP для отображения искаженного кода в китайском <br /> задача Описание: Вызов страницы JSP через браузер, искаженный код появляется в китайском контенте, отображаемом в браузере.
Решение: сначала подтвердите, что когда этот JSP сохраняет содержимое файла в редакторе, он использует формат кодирования UTF-8, а затем добавьте <%@ pageencoding = "utf-8"%> к началу страницы JSP, чтобы решить эту проблему искаженного китайца
Второй случай: на вызове страницы Сервлета показывает искаженный код
Описание задачи: при вызове Сервлета через браузер контент, отображаемый в сервлете, выглядит искаженным.
Решение: Перед тем, как сервлет использует объект ответа для вывода, выполнить response.setContentType ("text/html; charset = utf-8"); Установите кодирование выходного контента в UTF-8.
Третий случай: искаженный код формы поста
Описание задачи: Когда параметры отправляются в соответствующий JSP или сервлет через элементы формы в JSP, HTML или Сервлете, параметры, полученные в полученном JSP или Сервлете, отображаются на китайском языке.
Например:
Отправьте код JSP следующим образом:
<%@ page language = "java" pageencoding = "utf-8"%> <html> <Head> <Teal> Enter Form </title> </head> <body> <form id = "inputform" name = "method =" post "action =" display.jsp "> username: <input type =" text-name = "username"/> <bry elase: <soverme: <input type = "text" = "username"/> <brbr/>: <<<bress hype eake exator: "<<bress" <bress: <<bress hypes "/" <bress: "<<prower". name = "password"/> <br/> <input type = "Отправить" name = "Отправить" value = "Отправить" // </form> </body> </html>
Код JSP, который получает параметры, выглядит следующим образом:
<% @ page language = "java" pageencoding = "utf-8"%> <html> <Head> <tilte> Прием форма </title> </head> <body> <% insert request.setcharacterencoding ("utf-8"); %> Имя пользователя: <%= request.getParameter ("username")%> <br/> пароль: <%= request.getParameter ("пароль")%> <br/> </body> </html>Решение: перед получением отправленных параметров, используйте request.setcharacterencoding («UTF-8»), чтобы установить формат контента полученных параметров для кодирования UTF-8. Смотрите содержание вставки в приемной форме. Конечно, лучше всего использовать китайские фильтры для такого рода искаженной проблемы.
Четвертый случай: метод URI передает искаженные параметры
Описание задачи: При прохождении параметров с помощью формы вы можете пройти через пост или получить. Форма не применима. Вы также можете передавать параметры, используя метод ссылки. Этот метод прохождения параметров по существу передает параметры как get. Параметры, передаваемые в этом методе, также могут показаться искаженными, когда они появляются на китайском языке.
нравиться:
Скопируйте код следующим образом: <a href = "/webproject/display.jsp? Username = Zhang San & Password = 123"> Показать имя пользователя и пароль </a>
Решение: Суть проблемы состоит в том, что метод кодирования по умолчанию содержимого параметра, передаваемого методом GET, задается ISO8859-1, и с использованием request.setcharacterencoding («UTF-8») не может решить проблему. Чтобы решить эту проблему, измените файл конфигурации сервера Tomcat. Изменить строку 43 файла conf/server.xml в каталоге Tomcat:
Перед модификацией:
<Connector port = "8080" protocol = "http/1.1" maxthreads = "150" Connectimeout = "200000" redirectport = "8443"/>
Модифицированный контент:
<Connector port = "8080" protocol = "http/1.1" maxthreads = "150" connectimeout = "200000" redirectport = "8443" uriencoding = "utf-8"/>
Это может решить этот тип искаженной проблемы.
Пятая ситуация:
Описание задачи: при использовании некоторых классовых библиотек или структур, чтобы достичь интернационализации содержания страницы, необходимо записать соответствующий файл свойств. Китайский контент в файле свойств также будет выглядеть искаженным при отображении.
Решение: эта искаженная проблема может быть решена инструментом Native2ASCII в JDK. Используйте следующую команду:
Скопируйте код следующим образом: Native2ASCII -ENCODING UTF -8 DISPLAY.PROPERTIES DISPANE_ZH_CN.PROPERTIES
Причина искаженной проблемы заключается в том, что компилятор Java может обрабатывать только файлы символов, кодируемые Latin-1 или Unicode.
Выше приведено в этой статье, я надеюсь, что это будет полезно для каждого обучения.