2014年5月1日 星期四

MySQL ASP.NET 中文亂碼

用notepad++(MS notepad 會自動轉碼)開啟
C:\ProgramData\MySQLMySQL Server 5.7\my.ini 

找到 [client] 區塊

加入

default-character-set=utf8

找到 [mysqld] 區塊

加入

character-set-server=utf8

collation-server=utf8_general_ci 

原來除了MySQL本身資料編碼設定外

在ASP.NET中ODBC版本也有絕對的影響:

MySQL ODBC 3.51 Driver 只能顯示big5繁體中文
MySQL ODBC 5.1 Driver 能同時顯示utf8簡體繁體中文

web.config中連結字串差別:

<add name="MySQLConnStr" connectionString="DRIVER={MySQL ODBC 5.1 Driver};Database=[strDatabaseName];Server=[strServerName];UID=[strUserName];PWD=[strPassword];charset=utf8"/>

dotNetFramework1.1:

<add key="MySQLConnStr" value="DRIVER={MySQL ODBC 3.51 Driver};Database=[strDatabaseName];Server=[strServerName];UID=[strUserName];PWD=[strPassword];OPTION=3;CharSet=big5;"/>