mod_jk настройка набора символов utf-8

Я использую httpd + mod_jk + 2 сервера tomcat в Ubuntu. Когда я отправляю форму на нелатинском языке, я получаю мусор в БД. Если я отправлю ту же форму через Tomcat, минуя httpd, все будет хорошо. следующая моя конфигурация:

/etc/apache2/conf.d/charset:

AddDefaultCharset UTF-8

tomcat1:

‹Порт коннектора =" 8080 "протокол =" AJP / 1.3 "connectionTimeout =" 20000 "redirectPort =" 8443 "URIEncoding =" UTF-8 "/>

tomcat2:

‹Порт коннектора =" 9080 "протокол =" AJP / 1.3 "connectionTimeout =" 20000 "redirectPort =" 9443 "URIEncoding =" UTF-8 "/>

Соединение JDBC:

jdbc: mysql: // localhost: 3306 / myapp? useEncoding = true & characterEncoding = UTF-8

/etc/apache2/mods-available/jk.conf (тот же файл, в котором я установил свой балансировщик нагрузки)

JkOptions + ForwardURICompatUnparsed

Я что-то упускаю? Спасибо!


person Meir Winston    schedule 26.08.2012    source источник
comment
Проблема возникает только тогда, когда я использую http-вызовы doGet. Если я использую doPost, кодировка символов работает нормально.   -  person Meir Winston    schedule 27.08.2012


Ответы (2)


Я обнаружил свою проблему, я перепутал коннектор HTTP с коннектором AJP, который был дважды объявлен в Tomcat server.xml. Второе объявление даже не включало атрибут URIEncoding.

person Meir Winston    schedule 27.08.2012

<Connector URIEncoding="UTF-8" port="8009" protocol="AJP/1.3" connectionTimeout="10000" keepAliveTimeout="10000" redirectPort="8443"/>

отлично работает для меня

person Neoray    schedule 06.04.2017
comment
Ваше решение работает хорошо - person Mankeomorakort; 09.05.2021