首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

.NET 連接 MySQL 中文亂碼三步徹底解決:配置文件、庫表字符集雙管齊下

     編輯:MySQL 綜合教學

.NET 連接 MySQL 中文亂碼三步徹底解決:配置文件、庫表字符集雙管齊下

.NET (C#/VB.NET) 通過 MySQL Connector/NET 操作 MySQL 時,中文亂碼通常源於「連線字符集」、「資料庫/表字符集」、「配置文件預設字符集」三者不一致。按以下三步統一為 UTF-8,徹底根治。

步驟 1:修改 MySQL 配置文件 (my.ini / my.cnf)

[client]
default-character-set=utf8

[mysqld]
character_set_server=utf8
collation_server=utf8_general_ci

重啟 MySQL 服務生效。

步驟 2:修改系統庫 performance_schema 字符集

編輯 data/performance_schema/db.opt:

default-character-set=utf8
default-collation=utf8_general_ci

步驟 3:確保業務庫表字符集為 UTF-8

-- 建庫指定
CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_general_ci;

-- 修改現有庫
ALTER DATABASE mydb CHARACTER SET utf8 COLLATE utf8_general_ci;

-- 建表指定
CREATE TABLE t (c VARCHAR(50)) CHARACTER SET utf8 COLLATE utf8_general_ci;

-- 修改現有表
ALTER TABLE t CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

.NET 連線字串最佳實踐

Server=localhost;Database=mydb;Uid=root;Pwd=xxx;Charset=utf8;SslMode=none;
  • Charset=utf8 強制連線層使用 UTF-8,覆蓋 Server 端設定。
  • Connector/NET 6.10+ 建議加 SslMode=none 避免 SSL 握手延遲(內網環境)。

驗證方案

  1. 插入中文:INSERT INTO t VALUES ('測試')
  2. 查詢回讀:SELECT * FROM t,檢查 DataTable/Reader 取出的字串。
  3. 若仍亂碼,檢查 .NET 專案編碼(源檔保存為 UTF-8)、控制台輸出編碼 Console.OutputEncoding = Encoding.UTF8。

三步統一字符集鏈路,.NET 操作 MySQL 中文零障礙。

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