使用 Mysql 支持中文 for windows

使用mysql 经常会遇到编码问题,而导致程序出现乱码,mysql 在以下几个地方会涉及到编码格式

  • 数据库编码
  • 服务器编码
  • 连接编码
  • 客户端编码

下面是一个典型的示例, 运行 mysql -u root

查看编码 mysql>status

mysql Ver 14.7 Distrib 4.1.14, for Win32 (ia32)
Connection id: 90
Current database: yitian
Current user: ODBC@localhost
SSL: Not in use
Using delimiter: ;
Server version: 4.1.14
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: latin1
Db characterset: gbk
Client characterset: latin1
Conn. characterset: latin1

TCP port: 3306
Uptime: 1 hour 28 min 21 sec


Server characterset: latin1 服务器使用的编码为 latin1
Db characterset: gbk 数据库 yitian的编码为 GBK

Client characterset: latin1 client 端为 latin1

Conn. characterset: latin1 连接的编码为 latin

如果我们要使用支持中文的 gbk 数据库, 就要在创建数据库时,使用下面的语法

GBK 使用

CREATE DATABASE yitian DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

utf8 使用

CREATE DATABASE IF NOT EXISTS yitian default charset utf8 COLLATE utf8_general_ci;

如果要修改已存在的数据库设置使用

alter database testdb character set utf8


然后在程序中连接时也应该设定相应的字符集 , 使用

SET CHARACTER SET GBK;


这时再查看看下编码

mysql>status



mysql Ver 14.7 Distrib 4.1.14, for Win32 (ia32)
Connection id: 90
Current database: yitian
Current user: ODBC@localhost
SSL: Not in use
Using delimiter: ;
Server version: 4.1.14
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: latin1
Db characterset: gbk
Client characterset: gbk
Conn. characterset: gbk
TCP port: 3306
Uptime: 1 hour 33 min 22 sec

就可以使用程序正确写入和读取数据了

如果要改变数据库的默认编码可以修改 my.ini

设置 my.ini

#default-character-set=GBK
default-character-set = UTF8







Technorati : gbk, mysql, utf8, windows

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值