天天看點

解決 Windows指令行 mysql 亂碼問題

在 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: [email protected]

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 選項。