中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL的數據庫亂碼原因分析

發布時間:2020-04-28 14:32:11 來源:億速云 閱讀:193 作者:三月 欄目:MySQL數據庫

下文內容主要給大家帶來MySQL的數據庫亂碼原因分析,這里所講到的知識,與書籍略有不同,都是億速云專業技術人員在與用戶接觸過程中,總結出來的,具有一定的經驗分享價值,希望給廣大讀者帶來幫助。

MySQL數據庫亂碼的原因

在計算機中任何數據都是以二進制存儲的,要存儲一個字符就要對它進行編碼,用一個二進制與其對應,這種對應的規則就是字符的編碼。編碼的規則有很多種,一種規則所編碼的“字符”的集合就叫做“字符集”。在制定編碼標準的時候,“字符的集合”和“編碼”一般都是同時制定的,因此,平時我們所說的“字符集”,例如GB2312,GBK和UTF-8等,除了有“字符的集合”這層含義外,同時也包含了“編碼”的含義。

對中文處理可以使用GB2312和GBK,它是中文字符集,而UTF-8是對世界上每個國家和地區的文字之地制定的字符集,并且UTF-8是可變存儲長度的字符集,如英文字母只需要一個字節存儲,節省了存儲空間,所以數據庫中通常采用UTF-8的字符集。

MySQL的數據庫亂碼原因分析

云服務器系統字符設置問題

數據表語系設置的問題

客戶端連接語系的問題

解決方法

在創建數據庫時通過CHARACTER SET 字符集與COLLATE 'utf8_general_ci' 設定

在創建表時通過DEFAULT CHARSET = 字符集 設定

可使用SET NAMES 字符集設置默認的字符集

修改配置文件,在[mysql]段中加入default_character_set=字符集

⑴在創建數據庫時設定字符集

CREATE DATABASE chartest CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';

⑵在創建表時設定字符集

CREATE TABLE 'charatertest' (id varhsar(40)) DEFAULT CHARSET =utf8

⑶使用SET NAMES 是指默認的字符集

SET NAMES utf8

⑷修改配置文件,在[mysql]段中加入

default_character_set=utf8

舉例:

⑴創建數據庫、表、全局數據庫設置

[root@localhost ~]# mysql -u root -p123

mysql> create database mydb default character set utf8 collate utf8_general_ci;

mysql> use mydb

mysql> create table mydb_table (username varchar(64) NOT NULL  ) default charset=utf8;

mysql> set names utf8;#給整個數據庫設置默認字符集

⑵修改配置文件

[root@localhost ~]# vim /etc/my.cnf

[mysql]后面加入

default_character_set=utf8

對于以上關于MySQL的數據庫亂碼原因分析,如果大家還有更多需要了解的可以持續關注我們億速云的行業推新,如需獲取專業解答,可在官網聯系售前售后的,希望該文章可給大家帶來一定的知識更新。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兰州市| 佛山市| 瑞安市| 马山县| 嘉峪关市| 博罗县| 阜阳市| 攀枝花市| 定陶县| 尤溪县| 吴堡县| 登封市| 陵水| 凤山县| 固阳县| 长岛县| 大城县| 梧州市| 贵德县| 永和县| 文登市| 耒阳市| 汉中市| 和平区| 北川| 绥德县| 类乌齐县| 阿拉尔市| 栾城县| 于田县| 陕西省| 方城县| 漳平市| 南通市| 凤冈县| 无棣县| 柳林县| 彭州市| 太原市| 师宗县| 荆州市|