首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Oracle SQL Developer 連接 MySQL 中文亂碼終極解決方案

     編輯:程式設計綜合問答

使用 Oracle SQL Developer 連接 MySQL 時,插入中文查詢顯示亂碼,而 CMD 直接操作正常,核心原因是 SQL Developer 的 JDBC 連接屬性未正確設定字符集編碼。

根本原因分析

  • SQL Developer 使用 JDBC 驅動連接 MySQL,預設字符集可能為 Latin1 或平台預設編碼。
  • CMD 連接時 MySQL 客戶端會根據系統 Locale 自動協商字符集(通常為 utf8mb4)。
  • SQL Developer 內部執行 SELECT '漢字' 也亂碼,證明是連接層編碼問題,非數據存儲問題。

解決方案:修改 JDBC 連接 URL

在 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 零值報錯(可選)。

替代方案:使用專用 MySQL 客戶端

若配置後仍有問題,建議改用原生工具:

  • MySQL Workbench:官方免費 GUI,完美支援中文、UTF-8、管理功能全面。
  • Navicat for MySQL:商業軟體,介面友好,同步/備份/建模功能強大。
  • DBeaver:開源免費通用數據庫工具,支援 MySQL 完美。

SQL Developer 連接屬性設置示意圖

驗證步驟

  1. 修改連接 URL 並重新連接。
  2. 執行 SHOW VARIABLES LIKE 'character%' 確認 character_set_client、connection、results 均為 utf8mb4。
  3. 插入測試:INSERT INTO test VALUES ('中文測試') → 查詢驗證。

配置正確的 JDBC 連接參數,或改用專用 MySQL 客戶端,可徹底解決中文亂碼困擾。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved