У меня есть веб-страница, где я выполняю поиск на основе текста, указанного в текстовом поле. Этот текст может быть на любом языке, таком как японский, китайский и т. Д. (Или любой символ mbcs).Символ поврежден, когда используется request.getParameter() в java
Теперь, когда я ввожу текст на японском (или любом другом символе mbcs), результат заполняет экран (форму) некоторыми wierd-символами.
Пример: testテスト
будет состоять из testãã¹ã
.
Когда я вижу параметры пост в Firebug (средство отладки) я могу видеть, что строка поиска идет как testテスト
однако, когда я поставил отладочные операторы в моем коде, я могу видеть, что request.getParameter("searchString")
не в состоянии определить японские символы и превратить их в несколько странных символов.
Мой JSP заголовок уже <%@ page contentType="text/html; charset=UTF-8"
Я также попытался положить pageEncoding="UTF-8"
в этом, но это не помогло.
Я попытался установить кодировку символов, например request.setCharacterEncoding("UTF-8")
также перед тем, как сделать request.getParameter
, но это тоже не сработало для меня.
После прохождения нескольких форумов и блогов я также попытался установить useBodyEncodingForURI=true
в <Connector>
конфигурации tomcat, но это также не помогло мне.
Может кто-нибудь предложить мне что-то решить эту проблему?
«когда я поставил отладочные операторы в моем коде» - это означает, что? Какая отладка? 'System.out.println()'? Какая операционная система? – skaffman
Если я не ошибаюсь, вам может потребоваться преобразовать его в ascii. –
Hey Skaffman..by отладочные заявления я имею в виду некоторые регистраторы в моем коде, а не инструкции SOP – user1278265