當前位置:首頁 » 數據倉庫 » 統一資料庫表欄位編碼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

統一資料庫表欄位編碼

發布時間: 2023-04-28 08:56:41

❶ 在Mysql中如何設置整個資料庫的編碼即在輸入任何類型的數據時都不會出現亂碼問題。

這個不是命令能夠解決的。。。兩種方案:1、重新配置MySQL資料庫服務。。。在相應的步驟中設置字元編碼。。。。2、修改MySQL資料庫安裝程序目錄下的my.ini文件。。。裡面有相應的位置的設置字元編碼。。。修改完以後保存文件並重啟服務。。。

❷ mysql用sql語句創建表和資料庫怎麼設置字元編碼'

--創建資料庫時,設置資料庫的編碼方式
--CHARACTERSET:指定資料庫採用的字元集,utf8不能寫成utf-8
--COLLATE:指定資料庫字元集的排序規則,utf8的默認排序規則為utf8_general_ci(通過showcharacterset查看)
dropdatabaseifEXISTSdbtest;
_general_ci;
--修改資料庫編碼
_chinese_ci;
_general_ci;
--創建表時,設置表、欄位編碼
usedbtest;
droptableifexiststbtest;
createtabletbtest(
idint(10)auto_increment,
user_namevarchar(60)CHARACTERSETGBKCOLLATEgbk_chinese_ci,
emailvarchar(60),
PRIMARYkey(id)
)CHARACTERSETutf8COLLATEutf8_general_ci;
--修改表編碼
_general_ci;
--修改欄位編碼
(60)CHARACTERSETutf8COLLATEutf8_general_ci;
--查看所有的字元編碼
SHOWCHARACTERSET;
--查看創建資料庫的指令並查看資料庫使用的編碼
showcreatedatabasedbtest;
--查看資料庫編碼:
showvariableslike'%char%';
--設置character_set_server、setcharacter_set_client和setcharacter_set_resultssetcharacter_set_server=utf8;--伺服器的默認字元集。使用這個語句可以修改成功,但重啟服務後會失效。根本的辦法是修改配置MYSQL文件MY.INI,

❸ 如何更改MySQL資料庫編碼為UTF-8或者GB2312

mysql 創建 資料庫時指定編碼很重要,很多開發者都使用了默認編碼,亂碼問題可是防不勝防。制定資料庫的編碼可以很大程度上避免倒入導出帶來的亂碼問題。

網頁數據一般採用UTF8編碼,而資料庫默認為latin 。我們可以通過修改資料庫默認編碼方式為UTF8來減少資料庫創建時的設置,也能最大限度的避免因粗心造成的亂碼問題。

我們遵循的標準是,資料庫,表,欄位和頁面或文本的編碼要統一起來

我們可以通過命令查看資料庫當前編碼:

mysql> SHOW VARIABLES LIKE 'character%';

發現很多對應的都是latin1,我們的目標就是在下次使用此命令時latin1能被UTF8取代。

第一階段:

mysql設置編碼命令

[sql]view plain

  • SETcharacter_set_client=utf8;

  • SETcharacter_set_connection=utf8;

  • SETcharacter_set_database=utf8;

  • SETcharacter_set_results=utf8;

  • SETcharacter_set_server=utf8;

  • 然後mysql> SHOW VARIABLES LIKE 'character%';你可以看到全變為utf8
  • mysql> SHOW VARIABLES LIKE 'character%';

    +--------------------------+---------------------------------------------------------+

    | Variable_name | Value |

    +--------------------------+---------------------------------------------------------+

    | character_set_client | utf8 |

    | character_set_connection | utf8 |

    | character_set_database | utf8 |

    | character_set_filesystem | binary |

    | character_set_results | utf8 |

    | character_set_server | utf8 |

    | character_set_system | utf8 |

    | character_sets_dir | C:Program FilesMySQLMySQL Server 5.0sharecharsets |

    +--------------------------+---------------------------------------------------------+

    8 rows in set

❹ 如何設置mysql資料庫為utf-8編碼

檢查當前資料庫編碼。
使用語句:
show variables like 『%character%』;
show variables like』%collation%』;


如果不是以上情況,需要將mysql編碼設置為utf-8。具體步驟如下:
如果安裝mysql時安裝了「MySql Sever Instance Configuration Wizard」,則只需要啟動該程序進行相應設置即可。如下面截圖中所描述,需要將默認編碼設置為utf8

如果沒有該程序,需要手動修改mysql編碼。
1、 編輯MySql的配置文件
MySql的配置文件Windows下一般在系統茄好好目錄下或者在MySql的安裝目錄下名字叫my.ini,可以搜索,Linux下一般是 /etc/my.cnf

--在 [mysqld] 標簽下加上以下內容:
default-character-set = utf8
character_set_server = utf8
注意:如果此標簽下已經存在「default-character-set=GBK」類似的內容,只需修改即可。
--在 [mysql] 標簽下加上一行
default-character-set = utf8

--在 [mysql.server]標簽下加上一行
default-character-set = utf8

--在 [mysqld_safe]標簽下加上一行
default-character-set = utf8

--在 [client]標簽下加上一行
default-character-set = utf8

2、 重新啟動MySql服務
Windows可在服務管理器中操作,也可使用命令行:
net stop mysql 回車
net start mysql 回車
服務名可能不一定為mysql,請按自己的設置

Linux下面可襪鍵是用 service mysql restart

如果出現啟動失敗,請檢查配置文件有沒有設置錯誤

3、 查看設置結果
登錄MySql命令行客戶端:打開命令行
mysql –uroot –p 回車
輸入密碼
進入mysql後 執行 :show variables like "% character %";


另外:

建立資料庫時可以使用以下命令:
create database app_relation character set utf8;
use app_relation;
source app_relation.sql;
顫鉛修改資料庫編碼的命令為:
alter database app_relation character set utf8;

❺ mysql編碼資料庫,數據表,欄位各用什麼編碼

1. ASCII
用途:用來映射簡單的單位元組字元,比如大小寫英文字母、阿拉伯數字、常用的標點符、運算符、控制字元等。
編碼范圍:U+0000 - U+007F
注意:對於用這類字元的場景夠用了,但是卻無法表達比如漢字,日文等編碼。
2. UNICODE
用途:用來映射包含 ASCII 以內的其他的所有字元。
編碼范圍:U+0000 - U+10FFFF
注意:ASCII 是 UNICODE 的子集,ASCII 編碼的字元可以無損轉換為 UNICODE 編碼的字元。

MySQL 常用字元集

1. Latin1
Latin1 是 cp1252 或者 ISO-8859-1 的別名。ISO-8859-1 編碼是單位元組編碼,向下兼容 ASCII。
編碼范圍:U+0000 - U+00FF

ISO-8859-1 收錄的字元除 ASCII 收錄的字元外,還包括西歐語言、希臘語、泰語、阿拉伯語、希伯來語對應的文字元號。
單位元組內的空間都被 ISO-8859-1 編碼佔用,所以能夠用 ISO-8859-1 編碼存儲、傳輸其他任何編碼的位元組流。
比如把一個 Utf8mb4 的編碼或者 GBK 的編碼存入 Latin1,不會有任何問題。因為 Latin1 保留了原始的位元組流,這也就是 MySQL 長期以來把 Latin1 做默認字元集的原因。
但是由於 Latin1 對任何字元都存放位元組流,造成了字元個數的浪費。
比如:
CHAR(10) CHARACTER SET LATIN1;CHAR(10) CHARACTER SET UTF8;

該欄位中存儲字元個數 UTF8 是 Latin1 的三倍!!!
2. GB18030
GB18030 是中國官方標准字元集,向前兼容 GBK、GB2312,是這兩個的超集。用 1、2、4 個位元組分別表示一個符號。比如對一般中文字元,默認是用兩個位元組編碼存儲。Windows 系統,默認用的就是 GB18030。
若只是存儲中文字元,那 GB18030 最佳。
原因有兩點:
1)佔用空間小,比如比 UTF8 小。
2)存儲的漢字根據拼音來排序,檢索快。
3. UTF8
UTF8 是 Unicode 的編碼實現,可以存儲 UNICODE 編碼對應的任何字元, 這也是使用最多的一種編碼。最大的特點就是變長的編碼方式,用 1 到 4 個位元組表示一個符號,可以根據不同的符號編碼位元組長度。
字母或數字用 1 位元組,漢字用 3 位元組,emoji 表情符號用 4 位元組。UTF8 字元集目前是使用最廣泛的。
注意!MySQL 里常說的 UTF8 是 UTF8MB3 的別名,UTF8MB3 是 UTF8MB4 的子集,UTF8MB4 才是真正的 4 位元組 UTF8 字元集!
UTF8MB3 表示最大支持 3 個位元組存儲字元,UTF8MB4 表示最大 4 個位元組存儲字元。根據實際需要和未來展望,MySQL 8.0 已經默認用 UTF8MB4 基礎字元集。