首頁  >  文章  >  資料庫  >  MySQL中文亂碼如何解決?

MySQL中文亂碼如何解決?

黄舟
黄舟原創
2017-08-02 16:23:562069瀏覽

mysql資料庫越來越受大家的歡迎了。

中國人往資料庫存數據,總的也不會少了中文,可mysql存中文預設會亂碼。

這裡我們需要來做一些配置,讓它不再是「存進去是中文,查出來是各種問號」了。

1.我們可以先看看自己的mysql資料庫,中文是否亂碼。

登入資料庫,再帶的test資料庫中,建立一張表,然後插入中文,查詢結果。我們可以看到,中文變成了問號。

show databases;
use test;
create table users(name varchar(50));
insert into users values('张三');
select * from users;

MySQL中文亂碼如何解決?

2.我們來查詢一下,各個字元相關的變數的值是什麼。

輸入 SHOW VARIABLES LIKE 'character%';

我們可以看到 character_set_database的值為latin1。大家的值可能跟我的不一定一樣,整體來說應該不會是都為utf8。

MySQL中文亂碼如何解決?

3.如果有多處不是utf8,我們需要來修改mysql的設定檔my.ini。

一般位於安裝路徑根目錄,或是安裝路徑根目錄的bin下,或Linux下/etc/my.cnf。

MySQL中文亂碼如何解決?

4.在my.ini:

搜尋到[ client],修改或新增default-character-set=utf8;

#搜尋到[mysqld],修改或新增character-set-server=utf8;

搜到[mysql],修改或加入default-character-set=utf8;

MySQL中文亂碼如何解決?


##5.重啟mysql資料庫。

Windows下方可以執行services.msc,找到mysql服務,重新啟動;

Linux下,可以/etc/init.d/mysqld restart;

我的是xampp,沒有新增服務,直接先點選stop,再start就好了。

MySQL中文亂碼如何解決?


#6.檢視各變數的值;

SHOW VARIABLES LIKE 'character%';

status

MySQL中文亂碼如何解決?

#7.測試修改之後是否仍亂碼。

create database baidujingyan;
use baidujingyan;
create table users(name varchar(50));
insert into users values('张三');
select * from users;

可以看到,我們的資料庫已經能正常顯示中文了。

MySQL中文亂碼如何解決?

#注意事項

如果在程式中,還會出現亂碼,可以在新增set names utf8

以上是MySQL中文亂碼如何解決?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn