mysql會出現中文亂碼的原因不外乎下列幾點:
1.server本身設定問題,例如還停留在latin1
2.table的語系設定問題(包含character與collation)
3.客戶端程式(例如php)的連線語系設定問題
強烈建議使用utf8!!!!
utf8可以相容世界上所有字元!!!!
一、避免建立資料庫及表出現中文亂碼和檢視編碼方法
1、建立資料庫的時候:
[sql] view plain copy
2、建表的時候
[sql] view plain copy
這3個設定好了,基本就不會出問題了,即建庫和建表時都使用相同的編碼格式。
但是如果你已經建了庫和表可以通過以下方式進行查詢。
1.檢視預設的編碼格式:
[sql] view plain copy
注:以前2個來確定,可以使用set names utf8,set names gbk設定預設的編碼格式;
執行set names utf8的效果等同於同時設定如下:
[sql] view plain copy
2.檢視test資料庫的編碼格式:
[sql] view plain copy
3.檢視yjdb資料表的編碼格式:
[sql] view plain copy
二、避免匯入資料有中文亂碼的問題
1:將資料編碼格式儲存為utf-8
設定預設編碼為utf8:
set names utf8;
設定資料庫db_name預設為utf8:
[sql] view plain copy
設定表tb_name預設編碼為utf8:
[sql] view plain copy
匯入:[sql] view plain copy
2:將資料編碼格式儲存為ansi(即gbk或gb2312)
設定預設編碼為gbk:
set names gbk;
設定資料庫db_name預設編碼為gbk:
[sql] view plain copy
設定表tb_name預設編碼為gbk:
[sql] view plain copy
匯入:[sql] view plain copy
注:1.utf8不要匯入gbk,gbk不要匯入utf8;
2.dos下不支援utf8的顯示;
三、解決網頁中亂碼的問題
將**編碼設為 utf-8,這樣可以相容世界上所有字元。
如果**已經運作了好久,已有很多舊資料,不能再更改簡體中文的設定,那麼建議將頁面的編碼設為 gbk, gbk與gb2312的區別就在於:gbk能比gb2312顯示更多的字元,要顯示簡體碼的繁體字,就只能用gbk。
1.編輯/etc/my.cnf ,在[mysql]段加入default_character_set=utf8;
2.在編寫connection url時,加上?useunicode=true&characterencoding=utf-8參;
3.在網頁**中加上乙個"set names utf8"或者"set names gbk"的指令,告訴mysql連線內容都要使用utf8或者gbk;
解決MySQL資料庫中文模糊檢索問題
在 mysql下,在進行中文模糊檢索時,經常會返回一些與之不相關的記錄,如查詢 a 時,返回的可能有中文字元,卻沒有a字元存在。本人以前也曾遇到過類似問題,經詳細閱讀mysql的manual,發現可以有一種方法很方便的解決並得到滿意的結果。希望通過 標題 對新聞庫進行檢索,關鍵字可能包含是中英文,如...
mySQL資料庫中文亂碼解決方法
mysql資料庫字符集設定 1 進入mysql命令列 2 使用命令 set names gbk mysql資料庫匯出匯入加字符集引數 1 進入mysql資料庫安裝目錄的bin資料夾下 2 使用命令 mysqldump u root p recordstation c recordstation.sq...
mysql資料庫中文亂碼解決辦法
以下所有的操作均為mysql5.5環境下 一 建立乙個資料庫,預設字符集是latin1 mysql create database dbatest mysql show create database dbatest g mysql show create database dbatest g 1....