mysql 支援許多字符集及其編碼方案, 甚至是不同編碼之間的轉換.
在使用 mysql 進行應用程式程式設計時, 常常會出現亂碼現象, 這通常是由於客戶端沒有宣告與 mysql 伺服器通訊的字串編碼造成的後果.
解決方案:
設定變數'character_set_client',
檢視當前資料庫的字符集
show variables like
'character%
';檢視當前資料庫的校對規則
show variables like
'collation%
';請看下面兩張:
注意到了嗎 ? mysql.exe 在連線到伺服器後也是使用命令 set names '
gbk'; 來設定字符集的!
顯然, 使用 utf-8 是 mysql 客戶端開發的首選, 但是, windows 的控制台和 api 使用預設字符集和 utf-16, 這顯然造成了混亂.
幸運的是, 可以為控制台設定**頁, 以使控制台顯示 utf-8 編碼的字串, 方法是在程序中執行如下**:
#include
system("chcp 65001 > nul");
然後就可以在控制台視窗中顯示 utf-8 編碼的字串了(阿拉伯文, 泰文等無法正常顯示, 原因不明):
同時, 我們可以將 utf-8 編碼的字串轉化為 utf-16 或 utf-32 編碼的字串, 他們之間的轉換是基於演算法的, 效率非常高.
總之, utf-8 在網路中非常常見, 必須熟練運用.
mysql字符集問題 mysql字符集問題
我們新建mysql資料庫的時候,需要指定資料庫的字符集,一般我們都是選擇utf8這個字符集,但是還會又乙個utf8mb4這個字符集,好像和utf8有聯絡,今天就來解析一下這兩者的區別。起源mysql在5.5.3之後增加了這個utf8mb4的編碼,mb4就是most bytes 4的意思,專門用來相容...
mysql字符集問題 mysql字符集問題
用show variables like char 檢視mysql的引數,結果應如下 mysql show variables like char variable name value character set client gbk character set connection gbk ch...
mysql字符集問題 MySql字符集問題
mysql字符集問題 xinjinlong 2010 11 14 22 10 47 閱讀 1334 上次說了一下c從mysql裡面讀取資料,這次在介紹一下如何把mysql的字符集設定為utf8 第一 檢視自己mysql的字符集 mysql show variables like character ...