使用 Oracle SQL Developer 連接 MySQL 時,插入中文查詢顯示亂碼,而 CMD 直接操作正常,核心原因是 SQL Developer 的 JDBC 連接屬性未正確設定字符集編碼。
SELECT '漢字' 也亂碼,證明是連接層編碼問題,非數據存儲問題。在 SQL Developer 新建/編輯連接時,自定義 JDBC URL 添加字符集參數:
jdbc:mysql://host:3306/database?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
關鍵參數:
useUnicode=true:啟用 Unicode 支援。characterEncoding=UTF-8:強制指定通訊編碼為 UTF-8。zeroDateTimeBehavior=convertToNull:避免 datetime 零值報錯(可選)。若配置後仍有問題,建議改用原生工具:

SHOW VARIABLES LIKE 'character%' 確認 character_set_client、connection、results 均為 utf8mb4。INSERT INTO test VALUES ('中文測試') → 查詢驗證。配置正確的 JDBC 連接參數,或改用專用 MySQL 客戶端,可徹底解決中文亂碼困擾。