色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql數據庫字符是問號

老白2年前9瀏覽0評論

許多初學者在使用mysql數據庫時都會遇到字符顯示成問號的問題。這種問題經常出現在中文字符集中,但也有可能出現在其他字符集中。

例如,我們在mysql中創建一個含有中文字符的表:
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;

在插入中文字符時,我們會發現字符顯示成了問號:

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

這是因為mysql默認使用的字符集是latin1,而我們創建的表是使用utf8mb4字符集。為了解決這個問題,我們需要設置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配置文件中設置默認字符集:

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

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