MySQL乱码问题

JSP的request 默认为ISO8859_1,所以在处理中文的时候,

  要显示中文的话,必须转成GBK的,如下

  String str=new String(request.getParameter("name").getBytes("ISO8859-1"),"GBK");

  out.println(str);

  这样就可以显示中文了

  MYSQL操作时的中文问题:

  这个要看MySQL的默认编码了,一般不调整的话为latin1其实和ISO8859_1一样,所以操作的时候要处理

  和他一致,不然就会乱码的

  1.插入中文:

  String sql2="INSERT INTO test (name) VALUES(‘"+request.getParameter("name")+"‘)";

  stmt.executeUpdate(sql2);

  不用编码就可以插入了

  2.显示插入的中文:

  因为存入的是latin,所以显示的时候就要GBK一下

  String x=new String((rs.getString("title")).getBytes("ISO8859_1"),"GBK");

  out.println(x);

  3.设定存储编码:

  当然在MySQL为latin1编码时,也可以存的时候用GBK了

  Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/jsp?

  useUnicode=true&characterEncoding=GBK","root","");

  str1="中文";

  String sql2="INSERT INTO test (name) VALUES(‘"+str1+"‘)";

  这样也可以很成功的插入

http://user.qzone.qq.com/372806800/blog/1336199262

时间: 2024-12-18 02:05:10

MySQL乱码问题的相关文章

hibernate 连接 mysql 乱码的情况

在本地开发环境中,一切正常,部署到服务器后(windows 2003 + tomcat)含有中文的查询和表单提交都有乱码,从以下几个方面检查并解决了问题: 1.将所有jsp.js.css文件默认编码改为了utf-8,未解决问题. 2.struts2的配置文件中加入了节点:<constant name="struts.i18n.encoding" value="UTF-8" />  ,未解决问题. 3.web.xml中做如下确认和修改,未解决问题. <

10分钟学会理解和解决MySQL乱码问题

本文将详细介绍MySQL乱码的成因和具体的解决方案 MySQL出现乱码的原因 要了解为什么会出现乱码,我们就先要理解:从客户端发起请求,到MySQL存储数据,再到下次从表取回客户端的过程中,哪些环节会有编码/解码的行为.为了更好的解释这个过程,博主制作了两张流程图,分别对应存入和取出两个阶段. 存入MySQL经历的编码转换过程 上图中有3次编码/解码的过程(红色箭头).三个红色箭头分别对应:客户端编码,MySQL Server解码,Client编码向表编码的转换.其中Terminal可以是一个B

mysql 乱码解决方案

如何解决MYSQL数据中文乱码问题? 第一种方法,总结: 经常更换虚拟主机,而各个服务商的MYSQL版本不同,当导入数据后,总会出现乱码等无法正常显示的问题,查了好多资料,总结出自己的一点技巧: WINDOWS 下导入应该这样使用MYSQL的命令在DOS命令下进入mysql的bin目录下,输入mysql -uroot -p密码 数据库名称<要恢复的数据库, 例如我们要把D盘的一个名称为test.sql的数据库恢复到本地的test2这个数据库,那么就这样: mysql -uroot -p密码 te

ubuntu安装mysql乱码解决

ubuntu安装mysql乱码解决 1.问题描述: 插入汉字: 乱码显示: 2.解决方法: 执行下面命令: 添加如下粉色区域内容: 即:character-set-server= utf8 保存退出. 重启mysql: 3.验证乱码是否解决: 重新建一个数据库: 进入数据库: 创建表: 插入包含汉字数据: 查询表内容: 汉字正常显示: 更改后,汉字正常显示.

理解和解决MySQL乱码问题

MySQL出现乱码的原因 要了解为什么会出现乱码,我们就先要理解:从客户端发起请求,到MySQL存储数据,再到下次从表取回客户端的过程中,哪些环节会有编码/解码的行为.为了更好的解释这个过程,博主制作了两张流程图,分别对应存入和取出两个阶段. 存入MySQL经历的编码转换过程 上图中有3次编码/解码的过程(红色箭头).三个红色箭头分别对应:客户端编码,MySQL Server解码,Client编码向表编码的转换.其中Terminal可以是一个Bash,一个web页面又或者是一个APP.本文中我们

sql点滴40—mysql乱码问题总结

原文:sql点滴40-mysql乱码问题总结 本文将为大家讲解如何处理Java连接过程中的MySQL中文乱码问题.一般MySQL中文乱码问题都是与字符集有关,这里作者的经历也大致差不多. MySQL默认编码是latin1 1. mysql> show variables like 'character%'; 2. +--------------------------+--------------------------+ 3. | Variable_name | Value | 4. +---

MySQL乱码收集_持续更新

1.在mysql中执行下句成功,可添加中文的. insert into book(bookName,author,publish) values('好','hao','hao'); 但是在jsp中执行这个insert 语句就会出现乱码. 解决方案:在url后面加上?useUnicode=true&characterEncoding=utf-8 2.导入txt文件中的sql语句,乱码. 先是执行show variables like '%char%'; +---------------------

理解和解决 MySQL 乱码问题(转载)

理解和解决 MySQL 乱码问题(转载) 转载自:http://linux.cn/article-5028-1.html MySQL出现乱码的原因 要了解为什么会出现乱码,我们就先要理解:从客户端发起请求,到MySQL存储数据,再到下次从表取回客户端的过程中,哪些环节会有编码/解码的行为.为了更好的解释这个过程,博主制作了两张流程图,分别对应存入和取出两个阶段. 存入MySQL经历的编码转换过程 上图中有3次编码/解码的过程(红色箭头).三个红色箭头分别对应:客户端编码,MySQL Server

MySQL乱码解决办法

MySQL支持几十种编码方式,并且默认的编码为:latinl,如果MySQL出现了乱码情况,不要慌乱,一下为你介绍两种解决编码方式: 在控制台输入命令,注意MySQL中的UTF-8写成utf8,例如我现在有一个数据库名称为:lcychina,设置如下: mysql> alter database lcychina character set utf8;Query OK, 1 row affected mysql> 查看当前数据库编码方式命令为: mysql> show variables

命令行中mysql乱码问题

1.现象 在命令行中,执行sql语句如果包含中问题,提示“ Data too long for column '列名' at row 1” 或者在命令行中查询出的结果中,中文乱码 2.分析 a.查看命令行的默认编码方式:右击命令行标题栏--属性--当前代码页 b.查看mysql中客户端与结果集的编码方式 show variables like 'character%';,可以看到,客户端与结果集的编码方式都是utf8 问题找到了,命令行与mysql的编码方式不一样导致的乱码: 3.解决方法 先停