MySQL数据库中的各种乱码及其解决方法

资讯 驱动中国 若水 592 次阅读 0 条评论
分享 Q

1.在使用MySQLPHP的时候出现过中文乱码问题

 

(1) 只要是gb2312,gbk,utf8等支持多字节编码的字符集都可以储存汉字,当然,gb2312中的汉字数量远少于gbk,而gb2312,gbk等都可在utf8下编码

 

(2)用命令show variables like 'character\_set\_%';查看当前字符集设定:

 

mysql> show variables like 'character\_set\_%';

+--------------------------+--------+

| Variable_name            | Value  |

+--------------------------+--------+

| character_set_client     | gb2312 |

| character_set_connection | gb2312 |

| character_set_database   | gb2312 |

| character_set_filesystem | binary |

| character_set_results    | gb2312 |

| character_set_server     | latin1 |

| character_set_system     | utf8   |

+--------------------------+--------+

7 rows in set (0.02 sec)

(笔者在这里设置的字符是gb2312)

 

显示中文乱码主要有两个设置:character_set_connection 和character_set_results ,

 

如果你的这两个设置不支持中文编码,就会出现乱码,只要:set character_set_results =gbk;就设置中文编码了.

 

(3).set names charset_name;还可以一次性设置客户端的所有字符集.

 

2.在.net中与mysql数据库的时候我也碰到显示不了中文字符的情况实现!

 

我的解决方法是在连接字符加上一个字符集CharSet=utf8;

 

<appSettings>

    <add key="Conn" value="Server=127.0.0.1;userid=root;password=test;
Database=game;Port=3306;CharSet=utf8;"/>

  </appSettings>

3.在PYthon中如果使用utf8编码的话

 

在创建数据的时候一定要加上default character set utf8 collate utf8_general_ci

 

不然输入中文的时候会出现:Data too long for column这样的提示信息!

 

create database test default character 
set utf8 collate utf8_general_ci
版权声明:本文由驱动中国整理发布,转载需注明出处与原文链接。如有疑问请联系 editor@qudong.com
本文价值 成为第一个评分的人
登录后为本文打分
网友评论0 条评论
正在回复 的评论取消
评论加载中…
🔐

登录后参与互动

评论、点赞均可赚积分
连续签到、邀请好友也有奖励 🎁

电脑端: 微信扫码登录 微信内: 一键登录

微信扫一扫

打开微信「扫一扫」,分享本文到朋友圈或好友