Java论坛网»Java技术»Struts + mysql 中文数据录入乱码问题
Struts + mysql 中文数据录入乱码问题
问?:
本人正在开发一个项目,用Struts做框架,通过jdbc连接mysql5.0数据库。
但是始终中文录入是乱码。
已经采用以下解决方法:
1.mysql数据库设置的默认值为UTF-8
2.连接数据库的类也引用UTF-8,其中连接字符串如下:
String connName = dbUrl + hostName + ":3306" + "/" + databaseName+"?useUnicode=true&character=UTF-8";
3.jsp页面头引用也为UTF-8:
<%@page contentType="text/html; charset=UTF-8" language="java"%>
4.把jsp页面保存为UTF-8格式。
5.web.xml和struts-config.xml的文件头引用改为:
<?xml version="1.0" encoding="UTF-8"?>
能改的基本都改为UTF-8格式都改了,还是乱码,究竟是什么一回事?
请各位指教
但是始终中文录入是乱码。
已经采用以下解决方法:
1.mysql数据库设置的默认值为UTF-8
2.连接数据库的类也引用UTF-8,其中连接字符串如下:
String connName = dbUrl + hostName + ":3306" + "/" + databaseName+"?useUnicode=true&character=UTF-8";
3.jsp页面头引用也为UTF-8:
<%@page contentType="text/html; charset=UTF-8" language="java"%>
4.把jsp页面保存为UTF-8格式。
5.web.xml和struts-config.xml的文件头引用改为:
<?xml version="1.0" encoding="UTF-8"?>
能改的基本都改为UTF-8格式都改了,还是乱码,究竟是什么一回事?
请各位指教
答!: 1:
你试试全用ISO8859-1试试
答!: 2:
是不是接收的request有问题
网页开头中加上这个.试试
<%request.setCharacterEncoding("gb2312");%>
网页开头中加上这个.试试
<%request.setCharacterEncoding("gb2312");%>
答!: 3:
不太明白怎么要用ISO8859-1?
只所以用UTF-8,是因为这是完全面向中文而开发的编码,在Linux下也可通用;
而GB3212,是扩展ASCII码,以补充中文的需要。
至于其他编码就不太懂了。
只所以用UTF-8,是因为这是完全面向中文而开发的编码,在Linux下也可通用;
而GB3212,是扩展ASCII码,以补充中文的需要。
至于其他编码就不太懂了。
答!: 4:
在servlet过滤器里把字符转换一下
答!: 5:
记得执行一下
set names 'utf8'
set names 'utf8'
答!: 6:
加过滤器 我用了 非常简单 你在csdn上搜一下 很多的
答!: 7:
这是我总结的一些解决方案,不知对LZ有帮助没
1: 安装MySQL数据库时候就指定字符集合为gbk或者gb2312,只要数据库中显示正常中文字符的话,页面肯定显示正常,哪来这么多的转换,烦死了!!
LZ不妨试一试。
2: 指定服务器的 编码 GBK 或者GB2312
3: 修改安装目录下的 初始化配置文件 my.ini
# The TCP/IP Port the MySQL Server will listen on
port=3306
#Path to installation directory. All paths are usually resolved relative to this.
basedir="E:/MySQL5/"
#Path to the database root
datadir="E:/MySQL5/Data/"
# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=latin1 换成 gbk 或者 gb2312
# The default storage engine that will be used when create new tables when
default-storage-engine=INNODB
1: 安装MySQL数据库时候就指定字符集合为gbk或者gb2312,只要数据库中显示正常中文字符的话,页面肯定显示正常,哪来这么多的转换,烦死了!!
LZ不妨试一试。
2: 指定服务器的 编码 GBK 或者GB2312
3: 修改安装目录下的 初始化配置文件 my.ini
# The TCP/IP Port the MySQL Server will listen on
port=3306
#Path to installation directory. All paths are usually resolved relative to this.
basedir="E:/MySQL5/"
#Path to the database root
datadir="E:/MySQL5/Data/"
# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=latin1 换成 gbk 或者 gb2312
# The default storage engine that will be used when create new tables when
default-storage-engine=INNODB
答!: 8:
pzl(小飞龙) ( ) 信誉:100 Blog 2006-09-01 08:12:00 得分: 0
在servlet过滤器里把字符转换一下
---------------
这种做法不错,建议楼主用这方法
我也是用这方法解决 大部分的乱码问题
在servlet过滤器里把字符转换一下
---------------
这种做法不错,建议楼主用这方法
我也是用这方法解决 大部分的乱码问题
相关JAVA教程:
图片读取及显示问题
怎样解决IE频繁不响应问题
怎么让hibernate隐射的字段名与表字段名相同呢?
Hibernate创建Sessionfactory时出错 找不出原因?
jsp函数调用的问题
请高手帮忙,spring+hibernate +struts +jboss 或者tomcat+sqlserver2000
webwork2中的action
求HIBENATE的源代码下载地址
大家推荐一下关于架构方面的书!
我写的关于struts的问题
请问如何判断按钮被按下和其需执行的操作
把weblogic移到JBoss上面的方法。