mysql 中utf8編碼存放中文漢字問題

2021-07-23 18:44:13 字數 364 閱讀 2733

今天對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 設...