MySQL是常用的關(guān)系型數(shù)據(jù)庫,如何在其中存儲和查詢中文是很重要的一部分。
首先,在創(chuàng)建表時(shí)需要指定字符集,常用的有UTF-8、GBK等。
CREATE TABLE `mytable` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) CHARACTER SET utf8mb4 NOT NULL, `age` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
對于已經(jīng)創(chuàng)建好的表,可以通過ALTER TABLE修改字符集:
ALTER TABLE mytable CONVERT TO CHARACTER SET utf8mb4;
在查詢中文時(shí),也需要指定字符集,一般通過設(shè)置連接編碼來實(shí)現(xiàn):
SET NAMES utf8mb4; SELECT * FROM mytable WHERE name = '張三';
同樣,在使用PHP連接MySQL時(shí)需要設(shè)置編碼:
$pdo = new PDO('mysql:host=localhost;dbname=mydb;charset=utf8mb4', 'root', 'password');