首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ResetSet.getString无法正确获取中文字符

使用ResetSet.getString无法正确获取中文字符
EN

Stack Overflow用户
提问于 2010-08-11 18:29:59
回答 2查看 1.6K关注 0票数 2

我的项目要求我用JSP编写web应用程序,以便与Oracle10g R2通信

Javascript/HTML保存在UTF9i中,并使用OC4J -8字符集创建数据库。JSP与Oracle的接口基于JDBC Thin driver

我试着在JSP页面上输入一些中文字符,然后保存到Oracle。在Oracle (SQL Plus)中,这些字符无法正确显示。那么字符也不能用ResetSet.getString正确显示。

仅供参考,每个JSP的page指令已经是<%@ page contentType='text/html;charset=utf-8‘pageEncoding='utf-8'%>

有什么提示吗?

EN

回答 2

Stack Overflow用户

发布于 2010-08-11 19:54:50

我试着在

页面上输入一些中文字符

  • 必须将该JSP页的页编码设置为UTF-8。

<%@ page pageEncoding="UTF-8“%>

使用Firebug等超文本传输协议响应头检查器工具验证响应是否已与Content-Type: text/html; charset=UTF-8标头一起到达。

doPost()中对提交的数据进行后处理的servlet

  • 在访问参数之前必须将请求编码设置为UTF8。

request.setCharacterEncoding("UTF-8");

如果它实际上是一个GET请求,并且您正在收集doGet()中的参数,那么您需要将相关的servletcontainer配置为使用UTF-8来解码查询字符串。下面是一个以Tomcat为目标的示例:

<连接器(...)URIEncoding="UTF-8“/>

然后保存到Oracle。在Oracle (SQL Plus)中,这些字符无法正确显示。

  • 必须使用正确的字符集创建数据库:

CREATE DATABASE dbname CHARACTER SET UTF8

如果使用ResetSet.getString,则字符也不能正确显示。

  • 如果您已经执行了上述所有步骤,则现在应该可以解决此问题。

另请参阅:

  • Unicode - How to get the characters right?
票数 0
EN

Stack Overflow用户

发布于 2010-08-11 21:29:10

确保在JDBC连接上将defaultNChar设置为true。参见defaultNChar property

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3457400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档