私のWindowsサーバーはトルコ語のロケールに設定されています。 My Firebird DBは、トルコ語の文字を含むパス上に存在します。これは私の接続刺さは、次のようになります。パスに非ASCII文字を使用したFirebird接続
にしようとしたときに、「I/Oエラー:
"user id=somename;password=somepwd;max pool size=200;min pool size=8; connection lifetime=120000; initial catalog=E:\\Açğıİîöşüûin\\Metabase\\metabase.fdb;port number=3050; data source=127.0.0.1;server type=Default;packet size=8192;charset=UTF8;"
私はこの例外を取得開こうとすると
を接続するためにC#でFirebirdClientを使用しています\ファイル のために "のCreateFile(オープン)\" 操作を\中に "E:\ AgiIsin \メタベース\ metabase.fdb \" \ rを\ nエラー オープンファイル」
名前のトルコ語の部分がANSIの場合、DBは正常に動作します。
もしFBがトルコ語のパス名を尊重できるようにするにはどうすればいいですか? ANSI文字以外のもの(例えば、キリル文字、アラビア文字、UNICODE、UTF8)を含むパス名を使用できますか?
FBバージョン2.5.2
FirebirdのバージョンとFirebirdのバージョン。ネットプロバイダのバージョンは使用していますか? –
https://msdn.microsoft.com/en-us/library/windows/desktop/dd317756.aspxトルコ語には、ANSIとOEMの異なるコードページがあります。 Windowsでは、デフォルトで、Firebird Serverなどの非グラフィックアプリケーション用のOEMコードページが割り当てられます。通常のWin32アプリケーションでは、パスANSI-> OEMを事前にコード化することができますが、UTF-16文字列を使用してDotNetアプリケーションをプリコードできると推測しています。このようなオプションはないと思います.... FirebirdClientのソースをダウンロードしてこのハック –
私はFB 2.5.2を使用しています – user7399006