Reputation: 41
I have a web page where I do a search based on the text given in a text box. This text can be in any language like japanese, chinese etc (or any mbcs character).
Now when i enter a text in japanese (or any other mbcs character), the result populates the screen (form) with some wierd characters.
For Example: testテスト
will turn into testãã¹ã
.
When i see the post parameters in Firebug (debugging tool) i can see that the search string goes as testテスト
however when i put debug statements in my code, i can see that request.getParameter("searchString")
is not able to identify the japanese characters and turn them into some wierd chars.
My JSP header already has <%@ page contentType="text/html; charset=UTF-8"
I have also tried putting pageEncoding="UTF-8"
in this but it didn't help.
I tried setting character encoding like request.setCharacterEncoding("UTF-8")
also just before doing request.getParameter
but that too didn't work for me.
After going through a few forums and blogs i also tried setting useBodyEncodingForURI=true
in the <Connector>
of tomcat config but that also did not help me.
Can anybody suggest me something to resolve this issue?
Upvotes: 3
Views: 2159
Reputation: 26
set the following encoding in every servlet/ action
response.setContentType("UTF-8");
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
also set following in first servlet/action
for japanese
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
session.setAttribute(Globals.LOCALE_KEY, new Locale("jp", "ja_JP"));
Upvotes: 1