2012-06-11 67 views
1

首先,我承認不是VB專家,但我被要求檢查我們的數據庫系統,負責處理我們應用程序的語言。問題是一些有口音的人物在沒有他們的情況下似乎神奇地被轉換了。MS-Access VBA奇蹟般地轉換Unicode字符串?

例如,在調用Recordset.MoveNext時,波蘭語單詞「przesunąć」將作爲「przesunac」存儲在記錄字段中。 「Unicode Compression」在該列上設置爲true,但我懷疑它是相關的。我試圖找出是什麼讓這種魔術轉換,因爲我不想要它。

+1

http://support.microsoft.com/default.aspx?scid=kb;en-us;145727說:「Visual Basic假定外部世界仍然使用單字節ANSI模型。在調用函數之前,外部函數的參數將由Visual Basic從其內部Unicode表示形式轉換爲ANSI表示形式。「這意味着VB是做魔術的人。那麼我怎麼關掉它? –

回答

3

有人在http://www.pcreview.co.uk/forums/no-unicode-dao-recordset-t1102041.html陳述「記錄集包含正確的數據,但調試器窗口和工具提示不能顯示Unicode字符串」。有趣。啞巴,但有趣。

很好,但爲什麼在ANSI文件中的字符串?那麼,同一個線程中的下一篇文章是:「如果你想用VBA編寫Unicode,我的感覺是你必須在二進制模式下編寫;而不是在文本模式下編寫。這導致我http://accessblog.net/2007/06/how-to-write-out-unicode-text-files-in.html我得到了我的最終答案。

案件解決。