現象:MySQL 字符集為 utf8,C# 寫入中文後數據庫顯示全為 ?(一個漢字對應一個問號)。
根因:連接層未指定字符集,驅動默認使用 latin1 傳輸,導致中文編碼丟失。
解決:連接字符串中添加 Charset=utf8(或 Character Set=utf8mb4)。
MySQLConnection con = new MySQLConnection( "server=127.0.0.1;uid=root;pwd=;database=test;Charset=utf8");
驗證:重新寫入中文,數據庫顯示正常。同理適用於 MySql.Data、MySqlConnector 等主流驅動。