以前に書き込んだファイルから XML を読み込もうとしていたアプリケーションから、クラッシュ レポートを受け取りました。ユーザーにファイルを送ってもらうように依頼した後、書かれているはずのものと比較したところ、これまでに遭遇したことのない非常に奇妙な問題が見つかりました。
文字の一部 (すべてではない) がドットなしの ii
に置き換えられました。ı
たとえば、「title」という名前のノードは問題ありませんでしたが、「initialdirectory」という名前のノードでは、最初の i が置き換えられ、2 番目のノードはそのままでしたınitialdirectory
。
今日まで私はそのような文字があることさえ知りませんでしたが、今では知っていて、そのように書かれた方法がわかりません.XMLはXmlWriter
UTF8エンコーディングを使用して書かれていました. 複雑なことは何もない、普通の毎日の書き込みです。
私は通常 (まあ、Resharper を取得すると、パラメーターをスキップすると怒鳴られるので) etcStringComparison.OrdinalIgnoreCase
を実行するときに使用しますIndexOf
が、データを書き込むときにこれをどのように行うべきかについて途方に暮れています。スレッド文化を変える。
誰かが以前に同様の問題を経験したことがありますか?もしそうなら、それに対処する最善の方法は何ですか?