2013-09-26 13 views
0

我需要保存一個包含阿拉伯字符的純文本文件,並且 當文件打開時,阿拉伯字符必須顯示爲阿拉伯語。Forcinge文件的代碼頁,以便它可以正確顯示用windows-1256編碼的字符?

我可以插入名稱,而不使用Encoding.GetEncoding(1256)問題和保存文件 - 再次使用1256作爲StreamWriter的代碼頁。

但是,在Notepad ++中查看生成的文件時,字符顯示不正確,我必須故意將代碼頁切換回1256以使它們以阿拉伯文顯示。

然後我將文件發送給第三方,但他們無法更改代碼頁(我不知道爲什麼!),因此無法閱讀阿拉伯文。

有什麼辦法可以保存文件,以便使用的代碼頁是「嵌入」在文件中?

回答

2

將文件另存爲UTF-8。這應該在文件的開頭自動包含一個神奇的BOM(字節順序標記),這樣打開文件的應用程序就會知道它是用UTF-8編碼的。

+0

作品:)爲了我的理解,爲什麼使用1256編碼NOT將BOM作爲1256?或者,用不同的方式提出同樣的問題,爲什麼我必須說UTF-8而不是1256? – BlueChippy

+1

使用1256編碼將只能編碼阿拉伯文和一些拉丁文字符。而UTF-8可以一次編碼所有支持的字符集。因此,如果您的文件包含與阿拉伯語不同的語言,那麼如果您計劃使用1256,它真的會搞砸了。@BlueChippy – Rezoan

+0

沒有1256的物料清單。記事本可以識別何時打開一個文件只有UTF-8和UTF-16,所有其他文件都保存在沒有任何關於使用的編碼的信息。 – krisku

相關問題