Получение неанглийских символов, вставленных значений в базу данных MySQL - PullRequest
1 голос
/ 30 ноября 2011

Я работаю над вставкой неанглийских символов в базу данных, которая поддерживает UTF-8. Я могу вставить неанглийские символы в базу данных. Когда я вставляю URL-адрес (он проходит через ответ JSP и поскольку установлена ​​кодировка UTF8, он преобразуется в формат UTF8)

"1"

http://heenaparekh.com/category/%E0%AA%AF%E0%AA%BE%E0%AA%A4%E0%AB%8D%E0%AA%B0%E0%AA%BE%E0%AA%AA%E0%AB%8D%E0%AA%B0%E0%AA%B5%E0%AA%BE%E0%AA%B8/

правильно отображается в таблице базы данных как

"2"

http://heenaparekh.com/category/યાતરાપરવાસ

Но когда я пытаюсь выбрать значение с той же строкой "1" , которое я использовал для вставки в базу данных (без прохождения запроса и ответа JSP):

Когда оператор SELECT выполняется со ссылкой в ​​том же URL-адресе "1" , он преобразуется в URL-адрес "2" по заказу JSP.

Когда я хочу выбрать строки с этим URL-адресом, я не могу извлечь их, поскольку не могу преобразовать URL-адрес "1" в URL-адрес "2" в моем приложении JSP, и мне не нужно переходить на другую страницу, поэтому я попробовал следующие методы для преобразования ее в URL "2" формат:

Я пытался преобразовать свою строку в формат UTF-8, но это не помогает. Строка печатается так же. Когда я конвертирую его, используя класс сущностей Nutch в формат UTF8, он также не извлекает результаты, возможно, из-за того, что преобразование UTF8 по ответу JSP и класса сущностей различается.

Пожалуйста, помогите мне, как привести оба URL в один и тот же формат, чтобы я мог извлечь их из базы данных.

1 Ответ

1 голос
/ 30 ноября 2011

Вам нужно URL-unencode вместо "UTF-unencode" строки. Внутренне Java хранит строки как UTF-16, но это не имеет значения для ваших целей. Попробуйте метод java.net.URLDecoder.decode(String, String).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...