2011-04-15 65 views
0

我嘗試使用Access數據庫上的Bullzip's Access to mySQL app,其中包含特殊字符,如é和ä。該應用程序允許您指定UTF-8編碼,但在生成的SQL文件中,我獲得「VieuxCarré」而不是「VieuxCarré」。SQL中的UTF-8字符編碼

我試圖打開UltraEdit中的SQL文件並做UTF-8轉換,但它不能解決這個問題,因爲我猜想它正在轉換「Ã」而從未看到「é」?

什麼是Good™解決方案?

回答

1

問題出在UTF-8轉換爲Unicode或轉換爲Access。像SQL Server一樣,Access只能以ASCII格式或Unicode(UTF-16)(關閉Unicode壓縮)本機存儲數據。爲了確保給定的值被正確存儲,您需要在存儲上將其轉換爲Unicode,並在檢索時將其轉換回UTF-8。您可以使用StrConv函數來達到這個目的。

+0

謝謝!我並不知道這個限制。這非常有啓發! – jerrygarciuh 2011-04-15 20:56:20

+1

@jerrygarciuh如果使用'ADODB.Command'並將值作爲'adVarWChar'傳遞,ADO應該爲您處理向unicode的轉換,而不必手動轉換。 – Lankymart 2014-05-03 17:45:48