mysql中文字符编码乱码解决方案

本文介绍了在使用MySQL和PHP时遇到的中文乱码问题及其解决方案。主要关注字符集配置,如通过设置character_set_results为gbk来解决乱码问题,并提供在不同编程语言环境下(如.NET和Python)的配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用mysql和php的时候出现过中文乱码问题

通过学习和网上查找总结以下:

 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;还可以一次性设置客户端的所有字符集.

在.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> 

在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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值