私はutf-8でエンコードされたファイルからデータを読みます。このファイルの内容の一部は、新しく作成されたフォルダの名前として使用されます。しかし、私のフォルダ名は次のとおりです。C#System.IO.Directory.CreateDirectory - utf-8文字でディレクトリを作成しますか?
bohou_120328の代わりに、私は、新しく作成したフォルダの名前のための適切なコーディングを設定するにはどうすればよいbohouš_120328
?ありがとう。
編集:
私は、ファイルからの情報をこのように読んでいます:私は私のWindows 7上で自分のアプリケーションを実行する場合
System.IO.StreamReader file = new System.IO.StreamReader(nameOfFile);
while ((j = file.ReadLine()) != null) {
//manipulating string in j
}
が、その後
if (Directory.Exists(folder) == false) {
Console.WriteLine("creating directory " + folder);
System.IO.Directory.CreateDirectory(@folder);
}
でディレクトリを作成し、64ビットコンピュータ、すべてが問題ありません。私はWinXPのような古いシステムと他のコンピュータ上で実行する場合は、コーディングはちょうど間違っていると、フォルダを作成する変数を使用する前にこの
bohou�_120328
のように見える、私は私が出力に書き込みますが、すべてが正常です。フォルダ名でさえも問題ありません。しかし、私のコンピュータ上では、残念ながら。
EDIT2:
物事はもっと奇妙なっています。発音記号の付いていない名前は私のためにうまくいくので、このコードHow do I remove diacritics (accents) from a string in .NET?を使用して発音区別記号を削除しました。
しかし、再び:
- がbohou_120328
に他のコンピュータと私のフラッシュディスクの利回り上のコードを実行しているbohous_120328
デバッガでは、フォルダを作成する前に問題が既に文字列変数に入っていると表示されます。このケースでは環境が私の変数にどのような影響を与えるのか分かりません。
は、私はあなたが間違ったファイルを読み込んだと思う
コードを表示してみませんか? – Nick
'Directory.CreateDirectory(@"Bohouš "); Console.WriteLine( "{0}"、Directory.Exists(@ "Bohouš"));は 'True'を出力します。 – user7116
@ニックコードを追加しました。 – Perlnika