AJP12 InputStream has some problems in handing string. It makes every byte buffer into UTF-8 String. But in Korean( I lives in Korea.!) lanugage environment!, Query CAN String has non-escaped EUC-KR String. EUC-KR byte sequences are not converted into UTF-8 encoding. So your creating string encoding must be changed to "8859-1".. Um every 8859-1 can be another Locale's encoding. Using the following!! String myEncoding = "EUC-JP"; // if you are a Japanese. Stirng value = request.getParameter("param-name"); String myvalue = new String(value.getBytes("ISO8859-1", myEncoding); Above, simple string conversion make it correct!! But, class Ajp12InputStream in Ajp12ConnectionHandler.java handles above byte sequences as UTF-8. Um I guess CJK encoded byte sequences failed to converting UTF-8 Directly.. Please correct it before releasing 3.2.2 tomcat.