1. При использовании Ajax для передачи данных со страницы переднего плана на фоновый контроллер появляется китайский искаженный код (знак вопроса ???).
Я раньше искал различные решения онлайн, но они не работали. Наконец, я обнаружил, что это была проблема с получением данных Tomcat.
Решение:
Метод 1: Транскод параметры, когда контроллер получает параметры
@Responsebody@requestMapping (value = "/getJSondAtabyCityName", производители = "Application/json") public String getJsonByName (httpservletrequest, httpservletrespons //response.setContentType("text/html; charset=utf-8 "); //request.setcharacterencoding("utf-8") ;//sole the post искаженная система проблем. city_name = new String (city_name.getbytes ("iso-8859-1"), "UTF-8"); System.out.println ("city_name:"+city_name);}Метод 2:
Настройте файл service.xml в каталоге Tomcat
tomcat7/conf/server.xml
Добавить атрибут кодирования uriencoding = "utf-8" в эту строку кода
<Connector port = "8080" protocol = "http /1.1" connectimeout = "20000" redirectport = "8443" uriencoding = "utf-8" />
Анализ причины:
Фактически, причина искаженной проблемы заключается в том, что конфигурация Tomcat по умолчанию, полученный запрос транкодируется ISO-8859-1, что приводит к искаженной проблеме на китайском языке. Пока искаженное код может быть правильно транскодирован с UTF-8, искаженная проблема может быть решена.
2. Обычная передача данных, от страницы JSP до фонового контроллера, решение проблемы искаженного на китайском языке
(1) Сначала проверьте, является ли формат кодирования страницы JSP UTF-8
(2) установить китайскую фильтрацию
<!-- Chinese encoding--> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <Init-param> <Intic-param> <param-name> forceEncoding </param-name> <param-value> true </param-value> </init-param> </filter> <-url-pattern> <filter-name> urlencodingfilter </filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <url-pattern>/*</url-pattern>
(3) Установите преобразование данных JSON в файле конфигурации SpringMVC
<MVC: Annotation-управляемая> <MVC: Сообщения Converters Register-defaults = "true"> <!-Начальная функция аннотации MVC Spring Mv Это установлено на UTF-8-> <Bean> <Property name = "Поддержка MediceTypes" value = "text/html; charset = utf-8"/> </bean> <!-Начало конфигурации формата json, автоматически преобразовать формат в формат json, не требуется другие классы-> <Beanmessemessempes ">« Поддержание ». value = "application/json; charset = utf-8"/> </bean> </mvc: converters> </mvc: annotation-управляемый>
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.