在數據庫中添加數據出現亂碼的問題通常是由于數據庫的字符集和數據的字符集不匹配所導致的。解決方法如下:
SHOW VARIABLES LIKE 'character_set_database';
SHOW VARIABLES LIKE 'collation_database';
確保數據庫的字符集和數據的字符集是一致的,如果不一致,可以通過修改數據庫的字符集來解決。
CONVERT(data, target_character_set, source_character_set);
其中,data為要轉換的數據,target_character_set為目標字符集,source_character_set為原始數據的字符集。
例如,如果要將UTF-8編碼的數據插入到數據庫中,可以使用以下語句進行字符集轉換:
INSERT INTO table_name (column1, column2, ...) VALUES (CONVERT('data', 'utf8', 'utf8mb4'));
SET NAMES 'charset';
其中,charset為數據庫的字符集。
例如,如果要將連接的字符集設置為UTF-8,可以使用以下語句:
SET NAMES 'utf8';
這樣,在連接數據庫之后,所有的數據讀寫操作都會使用UTF-8字符集,從而解決亂碼問題。
請注意,以上方法適用于大部分情況下的亂碼問題,但如果亂碼問題比較復雜或特殊,可能需要更具體的解決方案。