欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql5.7不支持中文

錢斌斌2年前12瀏覽0評論

最近有些開發(fā)者發(fā)現(xiàn)在使用MySQL 5.7版本的時候出現(xiàn)了不支持中文的問題,這對于使用中文的應(yīng)用程序來說是一個重大的障礙。

下面是一個簡單的例子,可以證明MySQL 5.7不支持中文
CREATE TABLE test (
id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(200) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '姓名',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

在上述代碼中,我們定義了一個名為test的表,并定義了一個名為name的列,這列的字符集為UTF-8,排序規(guī)則為UTF-8通用排序規(guī)則。然而,當(dāng)我們嘗試向這個表中插入中文數(shù)據(jù)時,會出現(xiàn)一些問題。

INSERT INTO test (name) VALUES ('張三');

運(yùn)行上面這段代碼后,我們發(fā)現(xiàn)插入的數(shù)據(jù)并不是中文。事實上,MySQL 5.7會忽略掉中文,并將它們存儲為一些看起來像亂碼的字符。

如果你的應(yīng)用程序中需要使用中文,那么可以考慮使用MySQL 5.7的utf8mb4字符集。utf8mb4字符集是utf8字符集的超集,它支持所有的Unicode字符。

下面是一個使用utf8mb4字符集的例子
CREATE TABLE test (
id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '姓名',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

上述代碼中,我們將字符集和排序規(guī)則都設(shè)置為utf8mb4。這樣,當(dāng)我們向這個表中插入中文數(shù)據(jù)時,它們就可以被正確地存儲。

INSERT INTO test (name) VALUES ('張三');
SELECT * FROM test;

運(yùn)行上面這兩段代碼后,我們會得到正確的輸出結(jié)果。

綜上所述,MySQL 5.7雖然不支持中文,但可以通過使用utf8mb4字符集來解決這個問題。