Configuring Tomcat 6 to support Russian cp1251 encoding
cp1251, encoding, java, tomcat
Solution
You can use a servlet filter which sets the response encoding to workaround the problem. Check http://snippets.dzone.com/posts/show/5948. There is a sample code for the filter. You need to replace the: `response.setCharacterEncoding("UTF-8");` and `request.setCharacterEncoding("UTF-8");` with the required encoding. Also you can modify the sample to load the encoding from the filter config. After this you chain the filter to get all the requests.
Problem
I am migrating a struts application from Websphere to Tomcat 6 and my application has support for Russian language. In Websphere we use to pass the JVM param -Dclinet.encoding.override=cp1251 but when I tried this with tomcat by passing the JVM argument -DFile.encoding=cp1251, the system doesnt accept input (I an any text box like in search screen) and responds with invalid input. I also tries passing the same parameter as of Websphere (-Dclinet.encoding.override=cp1251) but didnt solve my problem.