1

DBF ファイルをクエリするときに、OLEDB で使用する文字エンコーディングを指定することはできますか?

可能な回避策は、DBF ファイルの文字エンコーディングへの OLEDB 呼び出しの前にクエリ文字列をエンコードし、返されたときにすべての結果をエンコードすることです。これは機能しますが、OLEDB または ADO.NET でこれを実行できると便利です。

アップデート

Viktor Jevdokimovによる提案は、自動的には機能しないようです。しかし、文字列の手動変換を調査する必要がありました。CultureInfo の TextInfo プロパティを使用して OemCodePage と WindowsCodePage を見つけ、それらを使用して対応する Encoding インスタンスを取得し、手動で変換することができます。しかし、ADO.NET でこれらのエンコンディングを使用して変換を実行することはできません。

4

1 に答える 1

2

DBF SQL を実行する前に、CurrentThread の CurrentCulture を変更し、その後復元します。

Dim appCulture As System.Globalization.CultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US")
//execute command here
System.Threading.Thread.CurrentThread.CurrentCulture = appCulture
于 2009-09-25T07:16:10.390 に答える