Java 中文问题一直困扰许多学习者。总结了下面的一些情况的解决方法。
希望对大家有帮助。
连接 Mysql Database Server:
-------------------------------------------------------------------------------
mysql 不支持 unicode,所以比较麻烦。
将 connectionString 设置成 encoding 为 gb2312
String connectionString
= "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=gb2312";测试代码:
String str = "汉字";
PreparedStatement pStmt = conn.prepareStatement("INSERT INTO test VALUES (?)");
pStmt.setString(1,str);
pStmt.executeUpdate();数据库表格:
create table test (
name char(10)
)
连接 Oracle Database Server
-------------------------------------------------------------------------------
在把汉字字符串插入数据库前做如下转换操作:
String(str.getBytes("ISO8859_1"),"gb2312")测试代码:
String str = "汉字";
PreparedStatement pStmt = conn.prepareStatement("INSERT INTO test VALUES (?)");
pStmt.setString(1,new String(str.getBytes("ISO8859_1"),"gb2312");
pStmt.executeUpdate();
Servlet
-------------------------------------------------------------------------------
在 Servlet 开头加上两句话:
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");JSP
-------------------------------------------------------------------------------
在 JSP 开头加上:
<%@ page contentType="text/html; charset=gb2312" %>
希望对大家有帮助。
连接 Mysql Database Server:
-------------------------------------------------------------------------------
mysql 不支持 unicode,所以比较麻烦。
将 connectionString 设置成 encoding 为 gb2312
String connectionString
= "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=gb2312";测试代码:
String str = "汉字";
PreparedStatement pStmt = conn.prepareStatement("INSERT INTO test VALUES (?)");
pStmt.setString(1,str);
pStmt.executeUpdate();数据库表格:
create table test (
name char(10)
)
连接 Oracle Database Server
-------------------------------------------------------------------------------
在把汉字字符串插入数据库前做如下转换操作:
String(str.getBytes("ISO8859_1"),"gb2312")测试代码:
String str = "汉字";
PreparedStatement pStmt = conn.prepareStatement("INSERT INTO test VALUES (?)");
pStmt.setString(1,new String(str.getBytes("ISO8859_1"),"gb2312");
pStmt.executeUpdate();
Servlet
-------------------------------------------------------------------------------
在 Servlet 开头加上两句话:
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");JSP
-------------------------------------------------------------------------------
在 JSP 开头加上:
<%@ page contentType="text/html; charset=gb2312" %>
解决方案 »
- spring声明式事务遇到数据库约束操作失败的问题
- myeclipse6.5,运行ant,提示"对于名为 build.xml 的外部工具,文件不存在"
- 我靠!!没王法了!!!javaeye被关了....郁闷呀。。。。
- 毕业设计:网上商城需要什么技术知识
- 一个关于OpenSessionInViewFilter的问题
- 再发个 阿里巴巴的数据库有多少张表
- 权限角色管理问题
- 郁闷两天了,关于tomcat配置连接池连接mysql数据库
- Java mail群发邮件,出现堆溢出情况,求解!!
- 【面试题】一道SQL相关的面试题,求解答
- 请各位高手帮忙!!!简单的问题,举手之劳!!!
- 对于ejb始终困解,请高手帮忙推荐两本关于ejb开发的好书,谢谢!
<%@ page contentType="text/html; charset=gb2312" %>
而是可以到web.xml中去设置的:(这个是解决数据传递中文出现的问题)
<context-param>
<param-name>weblogic.httpd.inputCharset./*</param-name>
<param-value>GBK</param-value>
</context-param>
tomcat怎么改?