MySQL是一種常用的關系型數據庫管理系統,但是有時候在使用MySQL的過程中會遇到一些奇怪的問題,比如插入的數據變成問號。 如果插入的數據是中文、日語、韓語等非英語字符,那么可能會看到插入的數據變成了問號(?)。 這是因為在MySQL中字符串默認使用的是ASCII編碼,而非英語字符需要使用utf8編碼才能正確顯示。 為了解決這個問題,我們可以在創建表時,指定表的字符集為utf8:
CREATE TABLE `mytable` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `age` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;我們可以看到在表中的"name"字段中添加了"CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci",這樣就可以正確存儲非英語字符了。 同時,在連接MySQL的時候,也需要指定連接的字符集為utf8:
$conn = mysqli_connect($servername, $username, $password, $dbname); mysqli_set_charset($conn, "utf8");這樣就可以保證數據庫的數據不會變成問號了。
上一篇jsp跟vue
下一篇hammer vue