今天對mysql資料庫進行操作時,發現始終存不進資料庫,搞了很久才發現這張表字元長度為varchar(20),而我存入的漢字超過了7個!
經過查詢才知道漢字字元轉換問題,以前也知道,但是並沒有引起注意。
乾貨如下:
只適用mysql5.0以上的版本:
1.乙個漢字佔多少長度與編碼有關:
utf-8:乙個漢字=3個位元組
gbk:乙個漢字=2個位元組
2.varchar(n)表示n個字元,無論漢字和英文,mysql都能存入n個字元,僅是實際位元組長度有所區別
3.mysql檢查長度,可用sql語言:
select length(fieldname) from tablename 來檢視
MySQL中utf8和utf8mb4編碼格式的區別
一 簡介 mysql在5.5.3之後增加了這個utf8mb4的編碼,mb4就是most bytes 4的意思,專門用來相容四位元組的unicode。好在utf8mb4是utf8的超集,除了將編碼改為utf8mb4外不需要做其他轉換。當然,為了節省空間,一般情況下使用utf8也就夠了。二 內容描述 既...
mysql中設定預設字元編碼為utf 8
mysql中設定預設字元編碼為utf 8 使用過linux的同志就知道,在linux下安裝mysql,尤其是使用yum安裝的時候,我們是沒法選擇其預設的字元編碼方式。這個就是乙個比較頭痛的問題,如果linux資料庫中使用到中文的時候,亂碼問題會讓你很頭痛。今天就來先說說linux下怎麼設定其預設編碼...
cmd中utf 8編碼的問題
有時候我們需要使用cmd顯示某個utf 8編碼的文字,這時候就需要設定cmd的 頁為65100。也就是chcp 65001這條命令。這樣設定可以臨時生效。如何要永久生效,需要在登錄檔中修改。hkey current user console systemroot system32 cmd.exe 設...