Китайские символы не могут быть показаны после сохранения и извлечения из базы данных Oracle - PullRequest
1 голос
/ 18 августа 2010

До сих пор мне не повезло решить проблему с китайскими иероглифами. Я использую OC4J 9.0.4.1 с базой данных Oracle 10g (которая создается с помощью UTF-8). Ситуация такова, что моя страница JSP уже установлена ​​с pageencoding = UTF-8.

Я сохраняю некоторые китайские иероглифы с веб-страницы в базу данных (столбец varchar2) через Thin Driver. В iSQLPlus эти китайские символы не отображаются. Затем содержимое извлекается с помощью ResultSet.getString. Когда содержимое возвращается на страницу JSP, оно показывает символы монстров.

Кто-нибудь может помочь?

Справочная информация о настройках: NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CHARACTERSET AL32UTF8
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 10.2.0.1.0
System.getProperty ("file_encoding") = MS950

Кто-нибудь может помочь?

1 Ответ

1 голос
/ 18 августа 2010

Я сохраняю некоторые китайские иероглифы с веб-страницы в базу данных (столбец varchar2) через Thin Driver. В iSQLPlus эти китайские символы не могут быть отображены

Необходимо установить кодировку тела запроса в ту же кодировку, что и pageEncoding JSP до получения параметров.

request.setCharacterEncoding("UTF-8");

Обратите внимание, что вышесказанное применимо только к запросам POST (я ожидаю, что вы используете POST здесь), для параметров запроса GET его необходимо настроить на уровне servletcontainer.

Смотри также:

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