Mysql中文乱码分析

1、Mysql的自身设置

mysql有六处使用了字符集,分别为:client 、connection、database、results、server 、system。

使用SQL语句:show variables like ‘character%‘;

mysql -u root -p --default_character_set=gbk; (影响数据的输入和输出)

此时在输入中文,一定就是乱码的,中文在此系统中无法成功。

图示:

结论:让你的客户端、服务器连接,都必须设置成一样,utf8/gbk;

2、操作系统语言环境设置

(1)、操作系统总体的语言环境;

  (2)、当前用户的语言环境; Linux系统是基于多用户的操作系统;

以上的语言环境必须都设置一样,否则会出现乱码的。

对当前用户的LANG设置能屏蔽操作系统语言环境设置。

3、你的应用软件的本身 文件的存储问题

最长用的2种方式,utf8、code936

这些必须的进行字符格式的类型转换;

4、以后出现Mysql的乱码解决方案:

  (1)、首先将mysql下的语言环境都设置为utf8;

  (2)、在保持操作系统和当前用户的语言环境一致,均为utf8;

时间: 2024-10-12 11:26:56

Mysql中文乱码分析的相关文章

总结--解决 mysql 中文乱码

首先分析一下导致mysql 中文乱码的原因: 1.建表时使用了latin 编码 2.连接数据库的编码没有指定 3.写入时就已经乱码(这种情况需要自己检查源数据了) 解决方法总结: 1.创建库时指定编码: create database testdb default charset utf8 2.修改库的编码: ALTER DATABASE `testtable` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin 3.修改表的编码: ALTER TABLE `

解决springmvc+mybatis+mysql中文乱码问题【转】

这篇文章主要介绍了解决java中springmvc+mybatis+mysql中文乱码问题的相关资料,需要的朋友可以参考下 近日使用ajax请求springmvc后台查询mysql数据库,页面显示中文出现乱码 最初在mybatis配置如下 <select id="queryContentById" resultType = "java.lang.String" parameterType="String" >     select t

MySql中文乱码问题(3)

MySql的客户端是在dos界面上,然而dos界面默认的字符集编码方式是:GBK (1).MySql字符转换原理图 (2).查看服务器的所有编码方式: >show variables like 'character%'; (3).通过以上观看,如果不想出现中文乱码情况,需要指定客户端的编码方式.连接器的编码方式.返回数据的编码方式: #设置客户端为GBK: >set character_set_client=gbk; #设置连接器使用UTF8 >set character_set_con

Mysql中文乱码问题完美解决方案

MySQL会出现中文乱码的原因不外乎下列几点:1.server本身设定问题,例如还停留在latin12.table的语系设定问题(包含character与collation)3.客户端程式(例如php)的连线语系设定问题强烈建议使用utf8!!!!utf8可以兼容世界上所有字符!!!!一.避免创建数据库及表出现中文乱码和查看编码方法1.创建数据库的时候:CREATE DATABASE `test`CHARACTER SET 'utf8'COLLATE 'utf8_general_ci';2.建表

关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)(转)

这篇文章给大家介绍关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)的相关资料,还给大家收集些关于MySQL会出现中文乱码原因常见的几点,小伙伴快来看看吧 最近两天做项目总是被乱码问题困扰着,这不刚把mysql中文乱码问题解决了,下面小编把我的解决方案分享给大家,供大家参考,也方便以后自己查阅. 首先: 用show variables like "%colla%":show varables like "%char%":这两条命令查看数据库与服务端的字符集

sae python中Mysql中文乱码的解决

一开始我用的是: db=MySQLdb.connect(db=sae.const.MYSQL_DB,user=sae.const.MYSQL_USER,passwd=sae.const.MYSQL_PASS,host=sae.const.MYSQL_HOST,port=int(sae.const.MYSQL_PORT)) 数据库编码与python代码的编码都已设为utf8,在PHPMyAdmin中添加中文记录,在网页查询显示中却显示乱码,我在网上各种搜索都找不到解决方法.最后终于发现在连接数据库

Servlet、MySQL中文乱码

1.Servlet中文乱码: 在doPost或doGet方法里,加上以下两行即可: response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("UTF-8"); 2.MySQL中文乱码: Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test? useUn

mysql中文乱码终结

  主题:mysql中文乱码终结 我自己都不知道为了中文问题烦恼了多少个日子,最恨瑞典人了-谁叫他发明了mysql,还设置了默认设置:latin1.曾经也在想假如中国人发明了 mysql(my see狗),呵呵,那么我们还有这样烦恼吗?默认的就是gk2312 或者gbk.倘若考虑到台湾朋友加一个big5.就得了.可是呢?事实不是这样的,没有办法,自己只好baidu一下,google一下,甚至yahoo 一下.能找到的方法都试过了,好久了,直到今天让我找到了,想明白了.所以急切和大家分享以下心得.

MySQL及navicat for mysql中文乱码

全部使用utf8编码 MySQL中文乱码解决 查看默认编码格式: mysql> show variables like "%char%"; 设置编码格式: SET character_set_client='utf8'; SET character_set_connection='utf8'; SET character_set_server='utf8'; 查看数据库test的编码格式: mysql> show create database test; 设置数据库tes