java+mysql中文乱码问题
2014-02-21 22:16
351 查看
乱码问题原因有多种,其中有一种是由于MySQL默认使用 ISO-8859-1 ( 即Latin1 ) 字符集,而JAVA内部使用Unicode编码,因此在JAVA中向MYSQL数据库插入数据时,或者读取数据时,都需要先转换一下编码方式。当然,如果可以直接修改配置文件的话,也可以解决乱码问题,然而某些情况下,我们并不能直接接触到配置文件(例如你是买的网上的空间),此时,我们可以采取编码格式转换的方法。
详细方法参考以下博客。
http://ghostgate.blog.163.com/blog/static/20570131200811442747326/
插入数据:
如:
...
String str="中文";
String sql = "insert into Tb (xxx) values (?)"
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1,str);
pstmt.executeUpdate();
这样插入到Mysql数据库后,用mysql.exe连接查看数据可以看到,插入数据变成了几个“?”呈,也即成了乱码。
解决方法是:
String str="中文";
str = new String(str.getBytes(),"ISO8859_1"); //加入此句,改变编码为iso-8859-1
String sql = "insert into Tb (xxx) values (?)"
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1,str);
pstmt.executeUpdate();
读取数据:
方法与插入数据类似,如下:
...
String str = rs.getString(1);
str = new String(str.getBytes("ISO8859_1")); //由ISO8859-1编码还原为JAVA内部默认字符集
//或者 str = new String(str.getBytes("ISO8859_1"),"GBK");
详细方法参考以下博客。
http://ghostgate.blog.163.com/blog/static/20570131200811442747326/
插入数据:
如:
...
String str="中文";
String sql = "insert into Tb (xxx) values (?)"
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1,str);
pstmt.executeUpdate();
这样插入到Mysql数据库后,用mysql.exe连接查看数据可以看到,插入数据变成了几个“?”呈,也即成了乱码。
解决方法是:
String str="中文";
str = new String(str.getBytes(),"ISO8859_1"); //加入此句,改变编码为iso-8859-1
String sql = "insert into Tb (xxx) values (?)"
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1,str);
pstmt.executeUpdate();
读取数据:
方法与插入数据类似,如下:
...
String str = rs.getString(1);
str = new String(str.getBytes("ISO8859_1")); //由ISO8859-1编码还原为JAVA内部默认字符集
//或者 str = new String(str.getBytes("ISO8859_1"),"GBK");
相关文章推荐
- struts2标签
- Jdk5.0新特性
- struts2自动类型转换问题
- Java学习心得——一些容易被忽略但很重要的知识点
- JavaBean实现注册验证功能
- struts2由浅入深专题分享——result-types 第一回 result-type类型及常见的几个类型 by:丹恋耗
- Java面向对象——集合框架(Collection)
- struts2由浅入深专题分享——interceptors 第一回 interceptor的种类及exception拦截器 by:丹恋耗
- JavaBean详解---JavaBean的保存范围和删除JavaBean
- 常用Java开源项目
- Java中list.get(index)报错
- Java中list.get(index)报错
- IP地址排序
- JavaBean详解---JavaBean与表单
- java如何保存网页上的图片
- Java编程规范
- 1.3……Eclipse下开发Android相关知识
- JavaBean详解---JavaBean与WEB开发标准目录结构
- Java异常捕获之try-catch-finally-return的执行顺序
- 【Spring】IOC核心源码学习(二):容器初始化过程