MySQL乱码解决方案

1、使用MySQL命令行工具查看utf-8编码的解决 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
--------------
数据时出现乱码,但IE查询展现时正常。

 

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


设置 MySQL 连接字符集

最简单的方式是在连接 MySQL 数据库以后,执行 SET NAMES cp850,或者执行 mysql 时使用 default-character-set=cp850 选项

(原文链接:http://yangkai.iteye.com/blog/544778

 

命令行中文乱码问题

现象:mysql 的默认编码设置为utf-8,页面以utf-8的编码方式写入到数据库。用工具查看一切正常,但从mysql 的命令行读数据出来总是乱码。

 

原因:mysql 的客户端根本无法以utf-8 的形式返回数据,解决如下:

 

set names gb2312;

你可能感兴趣的:(C++,c,mysql,windows,IE)