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

mysql數(shù)據(jù)庫字符是問號

老白2年前9瀏覽0評論

許多初學(xué)者在使用mysql數(shù)據(jù)庫時都會遇到字符顯示成問號的問題。這種問題經(jīng)常出現(xiàn)在中文字符集中,但也有可能出現(xiàn)在其他字符集中。

例如,我們在mysql中創(chuàng)建一個含有中文字符的表:
CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, `age` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

在插入中文字符時,我們會發(fā)現(xiàn)字符顯示成了問號:

INSERT INTO `user` (`name`, `age`) VALUES ('張三', 20);

這是因為mysql默認使用的字符集是latin1,而我們創(chuàng)建的表是使用utf8mb4字符集。為了解決這個問題,我們需要設(shè)置mysql使用正確的字符集。

在連接mysql時,我們可以在連接字符串中指定字符集,例如:

$conn = mysqli_connect("localhost", "username", "password", "database", "3306", null,MYSQLI_CLIENT_FOUND_ROWS|MYSQLI_CLIENT_IGNORE_SPACE);
mysqli_set_charset($conn, 'utf8mb4');

另外,也可以在mysql配置文件中設(shè)置默認字符集:

[mysqld]
...
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
...

通過以上方法,我們就能夠正確地插入和查詢含有中文字符的數(shù)據(jù)。