jsp存取mysql中文数据结果为乱码的解决方法(未经验证)
来源:互联网 发布:轩辕剑1 知乎 编辑:程序博客网 时间:2024/05/01 06:00
网上有很多这方面的资料,但很多要么是零星的几句,要么是长篇大论从编码的概念开始说起,我不是搞理论的,给自己的要求是会用就行。废话不说,开始正题吧。
我的开发环境是:XP-sp2,Tomcat5.0,jdk1.42,mysql4.0.21-nt
在玩jsp时发现,jsp把中文数据存入mysql或者从mysql读取出来显示的是乱码,无语,用百度搜了很多资料,解决问题。现总结一下。
解决方法一:
连接mysql时(无论在从mysql读还是取数据的情况),指定使用的编码方式为gb2312,具体代码如下
//装载mysql-jdbc驱动
Class.forName("com.mysql.jdbc.Driver").newInstance();
//连接数据库
Connection sqlCon = DriverManager.getConnection( "jdbc:mysql://localhost:3306/test?user=root&password=1&useUnicode=true&characterEncoding=gb2312" );
解决方法二:
如果方法一不行那么在方法一的基础上对读入的字符串进行强制编码方式转换。
代码示例如下:
String name = rst.getString("name");
name= new String(name.getBytes("ISO-8859-1"),"gb2312");
注:代码也可以为:String name =new String( rst.getString("name").getBytes("ISO-8859-1"),"gb2312"));其中rst为返回的resultset,ISO-8859-1为mysql默认的编码方式,代码的目的是把以ISO-8859-1的编码转换为gb2312编码方式,这样强制转换,可以解决一部分问题,如果结合方法一,应该可以解决中文乱码问题。
解决方法三:
这个方法在有些文章里是首推的,我首先也是试了这个方法,但是好像不行。这里还是说一下,不知是不是我操作错误。还是先贴原文吧:
"如果数据库中有中文的话而mysql默认的语言不是中文时要在配置文件C:winntmy.ini 中的 [mysqld] 里添加一行:
default-character-set=gbk
然后重起mysql"(原文地址:http://www.blogdriver.com/blog/tb.b?diaryID=338894)
我的是xp系统,所以my.ini在C:WINDOWS下,用editplus打开,没有修改过的代码如下:
......
[mysqld]
basedir=E:/Program Files/mysql
#bind-address=192.168.0.150
......
[WinMySQLadmin]
Server=E:/Program Files/mysql/bin/mysqld-nt.exe
......
按照原文所说的,修改配置代码如下:
......
[mysqld]
basedir=E:/Program Files/mysql
default-character-set=gbk
#bind-address=192.168.0.150
......
[WinMySQLadmin]
Server=E:/Program Files/mysql/bin/mysqld-nt.exe
......
然后重启winmysqladmin.exe
如果没有方法一和二为基础的话,用这个方法我试过不行。有了方法一和二,即使不用方法三,我也解决了中文读写的乱码问题。
最后,别忘了在jsp中声明:
contentType="text/html;charset=gb2312"
- jsp存取mysql中文数据结果为乱码的解决方法(未经验证)
- jsp存取mysql中文数据结果为乱码的解决方法
- jsp存取mysql中文数据结果为乱码的解决方法
- jsp存取mysql中文数据结果为乱码的解决方法(转自自己以前的blog)
- jsp + mysql 存取数据乱码的解决方法
- jsp数据传递到后台为中文乱码的解决方法
- jsp显示中文为乱码的解决方法
- jsp + mysql 中文 乱码 解决方法
- MySQL添加中文查询结果在乱码的解决方法
- Hibernate存取中文数据的乱码问题
- JSP与MYSQL中中文乱码的解决方法
- mysql查找出来的数据中文乱码的解决方法
- MySql中文乱码的解决方法
- MySql中文乱码的解决方法
- Mysql中文乱码的解决方法
- Mysql中文乱码的解决方法
- Mysql中文乱码的解决方法
- mysql中文乱码的解决方法
- 窗体显示中form1.Show()和form1.ShowDialog()的区别
- java数字转字符串
- 两个傻子的爱情(看完我都哭了)!!
- 最经典的Vim 配置文件(供参考学习)
- VRML/X3D相关资源网站
- jsp存取mysql中文数据结果为乱码的解决方法(未经验证)
- 【实验9.11.4d】 BGP对等体组【IEEEnjoy.L.ZH】
- GDB 调试器使用手册
- 深入探讨Java的类加载机制
- Liferay中整合tinyMCE详解
- C语言宏定义技巧
- 得到随机素数
- ASP.NET 2.0中合并 GridView 的表头单元格
- 理想的实现---上错大学入对行(转自开复学生网)