MySQL 4.1.4 中創建表時顯式指定 CHARSET=latin1,可暫時規避中文亂碼問題。
CREATE TABLE pre_message_list_LU (
id INT PRIMARY KEY AUTO_INCREMENT,
content VARCHAR(255),
create_time DATETIME
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
latin1 (ISO-8859-1)latin1 是單字節編碼,**不做任何字符集轉換**,直接存儲客戶端發送的原始字節LENGTH() 返回字節數而非字符數,SUBSTRING() 可能截斷多字節字符CONVERT 操作-- 1. 數據庫級指定
CREATE DATABASE mydb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 2. 表級指定 (推薦 utf8mb4 支持 Emoji)
CREATE TABLE t (c VARCHAR(100)) CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 3. 連接層指定 (JDBC URL / PHP mysqli_set_charset / Python charset)
-- 4. 服務端 my.cnf 強制
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[client]
default-character-set = utf8mb4
CHARSET=latin1 是**臨時應急方案**,僅適用於單一編碼應用、不需服務端字符處理的舊系統維護。**新項目務必全鏈路統一 UTF-8 (utf8mb4)**。