mysql預設編碼設定成gbk,解決dos下查詢中文亂碼的問題!

來源:互聯網
上載者:User
通常情況下,當我們資料庫用的是gbk的編碼,在 php和 phpmyadmin中查詢中文都沒什麼問題。但是一旦我們是從命令列用dos視窗登入的。查詢出來的結果中有中文的,就會出現亂碼問題。解決這個問題的方法就是設定mysql的預設編碼為gbk;

具體如下:

MySQL的預設編碼是Latin1,不支援中文,那麼如何修改MySQL的預設編碼呢,下面以gbk為例來說明

需要注意的是,要修改的地方非常多,相應的修改方法也很多。下面是一種最簡單最徹底的方法:

一、Windows
1、中止MySQL服務
2、在MySQL的安裝目錄下找到my.ini,如果沒有就把my-medium.ini複製為一個my.ini即可
3、開啟my.ini以後,在[client]和[mysqld]下面均加上default-character-set=gbk,儲存並關閉
4、啟動MySQL服務

二、Linux
1、中止MySQL服務(bin/mysqladmin -u root shutdown)
2、在/etc/下找到my.cnf,如果沒有就把MySQL的安裝目錄下的support-files目錄下的my-medium.cnf複製到/etc/下並改名為my.cnf即可
3、開啟my.cnf以後,在[client]和[mysqld]下面均加上default-character-set=utf8,儲存並關閉
4、啟動MySQL服務(bin/mysqld_safe &)

非常簡單,這樣的修改一勞永逸,今後MySQL一切相關的預設編碼均為UTF-8了,建立新表格的時候無需再次設定

需要注意的是,當前資料庫中已經存在的資料仍保留現有的編碼方式,因此需要自行轉碼,方法在網上有很多,不再贅述

window 下設定:

# The following options will be passed to all MySQL clients
[client]
#password    = your_password
port        = 3306
socket        = /tmp/mysql.sock
default-character-set=gbk

# Here follows entries for some specific programs

# The MySQL server
[mysqld]

設定前的查詢結果:

mysql> select * from nav;
+—-+———-+————–+———–+
| id | nav_name | nav_link     | nav_order |
+—-+———-+————–+———–+
|  1 | ??         | new_list.php    |         1 |
|  4 | 222       | 222                |        22 |
|  3 | ??         | message.php   |       33 |
|  5 | ????      |                       |         0 |
+—-+———-+————–+———–+
4 rows in set (0.00 sec)

設定好重啟mysql之後的結果 :
mysql> select * from nav;
+—-+———-+————–+———–+
| id | nav_name | nav_link     | nav_order |
+—-+———-+————–+———–+
|  1 | 新聞     | new_list.php |         1 |
|  4 | 222      | 222              |        22 |
|  3 | 留言     | message.php  |        33 |
|  5 | 網站首頁 |                 |         0  |
+—-+———-+————–+———–+
4 rows in set (0.00 sec)

如果 你的編碼是utf-8,剛調成utf8重啟即可。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.