2008-12-26 78 views
1

我完全難住了。我有一個程序可以將存儲在數據庫中的信息分配給相應的類。該類具有打印方法,可以打印其字段的值。用戶輸入訂單ID或訂單日期範圍,然後查找這些訂單並將其打印到文本文件中。我遇到的問題是,有一次,根據你選擇的id和日期,文本文件將打印出像這樣的垃圾。 「〢Ⱒⰱ瀲瑲瑵慨湮湮扥慍歲瑥㔬㈶‸㈱琰瑓瑥Ⱜ楳楳Ɒ䱉㘬㠰㌰」 我完全無能爲力,因爲當我調試它時,所有的值在類,打印方法和結果集中正確顯示。可能是什麼問題呢?有沒有人發生過這種事?打印出來的文本文件存在問題

操作系統是Windows Vista,我使用的語言是C#。我正在使用FileStream作爲參數的StreamWriter類。

這隻發生在一些命令。就像我選擇7號順序或者1-6號順序一樣,它可以正常工作,但是如果我選擇1-7號,我會得到奇怪的語言。 ????

由於

+0

我確定這是一種達芬奇密碼。我讓谷歌從中文翻譯它:「陳凱釗t of ge water mas Orlando Orlando Orlando Orlando Orlando a a'a b㈱Lian outⰬⰬⰬⰬ;;;;;;;;;;;;;;;; – splattne 2008-12-26 18:15:56

回答

4

根據您的評論會發生什麼情況是記事本嘗試猜測文件的編碼。 Look here for how it does so

您應該明確說明文件的編碼。

From the documentation

的StreamWriter默認爲,除非另有指定使用UTF8Encoding的一個實例。 UTF8Encoding的這個實例沒有一個字節順序標記(BOM),所以它的GetPreamble方法返回一個空的字節數組。要使用UTF-8編碼和BOM創建StreamWriter,請考慮使用指定編碼的構造函數,如StreamWriter(String,Boolean,Encoding)。

2

看起來像一個壞轉換到/從Unicode,或培養變量被設置,而不是正確應用。