在使用MySQL中存儲JSON格式的數據時,如果涉及到中文字符,很容易出現亂碼的情況。下面介紹幾種解決方法:
1.修改表的編碼方式 ALTER TABLE `table_name` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 2.修改字段的編碼方式 ALTER TABLE `table_name` MODIFY COLUMN `column_name` json CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 3.在建表的時候指定編碼方式 CREATE TABLE `table_name` ( `id` int(11) NOT NULL AUTO_INCREMENT, `json_data` json CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`) ); 4.使用JSON_UNQUOTE函數 SELECT JSON_UNQUOTE(JSON_EXTRACT(`json_data`, '$.name')) FROM `table_name`; 5.在連接MySQL時指定字符集(utf8mb4) $pdo = new PDO('mysql:host=localhost;dbname=db_name;charset=utf8mb4','username','password');
當出現MySQL JSON中文亂碼問題時,應根據具體情況選擇合適的解決方法,以確保存儲和讀取的中文字符不亂碼。