您的位置:首页 > 数据库 > MySQL

解决 Windows命令行 mysql 乱码问题

2009-12-09 14:58 260 查看
在 Windows 命令行下使用 mysql 工具往往会出现乱码问题,这是因为 MySQL 服务器默认使用 latin1 或 utf8 字符集,而 Windows 命令行的字符集是 cp850,本文讲解解决 Window 命令行 mysql 乱码问题。

2008-04-11 12:00:00
解决 Window 命令行 mysql 乱码问题

在 Windows 命令行下使用 mysql 工具往往会出现乱码问题,这是因为 MySQL 服务器默认使用 latin1 或 utf8 字符集,而 Windows 命令行的字符集是 cp850,本文讲解解决 Window 命令行 mysql 乱码问题。

更糟的是,在 Windows 命令行下执行 INSERT UPDATE 命令插入数据时,当你再使用如 phpmyadmin 工具查看时,将会无法正常显示。
查看 MySQL 服务器使用的编码

使用 mysql 工具连接后,执行 \s 或 status,将显示 MySQL 服务器信息:
mysql> \s
--------------
C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql.exe Ver 14.12 Distrib 5.0.18,
for Win32 (ia32)

Connection id: 25
Current database:
Current user: root@localhost
SSL: Not in use
Using delimiter: ;
Server version: 5.0.18-nt
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
TCP port: 3306
Uptime: 1 hour 1 min 27 sec

Threads: 3 Questions: 259 Slow queries: 0 Opens: 0 Flush tables: 1 Open tab
les: 0 Queries per second avg: 0.070
--------------
Conn. characterset 表示的是连接使用的字符集,正是因为连接字符集与Windows命令行的字符集不一致导致了乱码问题。
[color=red]说明:
查看本地Windows命令行字符集编码
1.第一种方法是在cmd命令行界面上通过chcp命令查看
C:\>chcp
Active code page: 936
2.第二种方法是在cmd命令行标题栏右键属性,在弹出对话框(选项->当前代码页<936 (ANSI/OEM - 简体中文GBK)>)内可以看到当前的字符集编码[/color]

设置 MySQL 连接字符集

最简单的方式是在连接 MySQL 数据库以后,执行 SET NAMES cp850,或者执行 mysql 时使用 default-character-set=cp850 选项。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: