我的项目要求我用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'%>
有什么提示吗?
发布于 2010-08-11 19:54:50
我试着在
页面上输入一些中文字符
<%@ page pageEncoding="UTF-8“%>
使用Firebug等超文本传输协议响应头检查器工具验证响应是否已与Content-Type: text/html; charset=UTF-8
标头一起到达。
在doPost()
中对提交的数据进行后处理的servlet
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,则字符也不能正确显示。
另请参阅:
发布于 2010-08-11 21:29:10
确保在JDBC连接上将defaultNChar设置为true。参见defaultNChar property。
https://stackoverflow.com/questions/3457400
复制相似问题