On 7.7.2006 11:41, Борислав Данаилов wrote:

>  Здравейте, знам че в тази група има хора които биха могли да ми
>  помогнат, затова ще изпратя съобщението си. Знам че не е линукс
>  адресирано, затова ви се извинявам предварително.

Един колега подкара jakarta 4.1.19 с mysql 4.1.15 по следния начин:


=========================
UTF-8 in POST Requests to Tomcat 4

Тъй като POST заявката не съдържа в себе си информация за encoding на данните 
(вкл. и за encoding на страницата, от която идват), то при изпращане на данни 
с POST заявка към Tomcat 4, той по подразбиране третира данните като кодирани 
с ISO-8859-1.

Описание на проблема:

Двубайтовите данни се третират като еднобайтови; в резултат нищо освен 
латиница не се интерпретира вярно.

Специфични условия:

Tomcat версия 4, възможно е сходен проблем да има и при версия 5. Показаното 
решение не изисква достъп до конкретен source файл на готовото приложение 
(там са възможни други решения посредством string...getBytes), а действа на 
ниво виртуален хост.

Решение на проблема:

Тъй като Tomcat 4 няма вградени филтри, първо се инсталират dbForms. (При 
Tomcat 5 е възможно да се ползва вграденият клас 
filters.SetCharacterEncodingFilter)

В съответния web.xml е необходимо е да се дефинира филтър, който да обърне 
символите от ISO-8859-1 в UTF-8:

<filter>
   <filter-name>SetCharacterEncoding</filter-name>
   
<filter-class>org.dbforms.util.external.SetCharacterEncodingFilter</filter-class>
   <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
   </init-param>
</filter>

Веднага след дефиницията се описва приложението на филтъра - за всички 
изпратени символи:

<filter-mapping>
   <filter-name>SetCharacterEncoding</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>

Накрая се рестартира Tomcat.

=========================

В директорията с файловете на съответната база се създава файл db.opt със 
съдържание:
default-character-set=utf8
default-collation=utf8_general_ci

Надявам се да съм бил полезен.


Attachment: pgpwjfXnEUtOG.pgp
Description: PGP signature

Reply via email to