从Oracle数据库保存和检索后,无法显示中文字符

时间:2010-08-18 12:31:21

标签: jsp jdbc oracle10g

到目前为止,我仍然没有运气来解决这个汉字问题。我将OC4J 9.0.4.1与Oracle 10g数据库(使用UTF-8创建)一起使用。情况是我的JSP页面已经设置了pageencoding = UTF-8。

我通过Thin Driver将一些中文字符从网页保存到数据库(varchar2列)。在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 个答案:

答案 0 :(得分:1)

  

我通过Thin Driver将一些中文字符从网页保存到数据库(varchar2列)。在iSQLPlus中,这些中文字符无法显示

在获取参数之前,您需要将请求正文编码设置为与JSP pageEncoding相同的编码。

request.setCharacterEncoding("UTF-8");

请注意,上述内容仅适用于POST请求(我希望您在此处使用POST),对于GET请求参数,您需要在servletcontainer级别配置它。

另见: