我正在處理作爲.NET控制檯應用程序運行的項目。我最初是在Windows中編寫的,但是我只是轉換爲GNU/Linux並安裝了Mono,它可以很好地運行我的應用程序,但是輸出有問題。Mono/Linux字符編碼問題?
輸出應該讀一些類似「正在加載插件‘/布拉布拉/ BLA /路徑’ 但你可以看到有,以及.... Giberish
我敢肯定,有某種類型的轉義序列導致了這一點,但我不知道是什麼。任何人都知道什麼可能會導致這個混亂?
我正在處理作爲.NET控制檯應用程序運行的項目。我最初是在Windows中編寫的,但是我只是轉換爲GNU/Linux並安裝了Mono,它可以很好地運行我的應用程序,但是輸出有問題。Mono/Linux字符編碼問題?
輸出應該讀一些類似「正在加載插件‘/布拉布拉/ BLA /路徑’ 但你可以看到有,以及.... Giberish
我敢肯定,有某種類型的轉義序列導致了這一點,但我不知道是什麼。任何人都知道什麼可能會導致這個混亂?
我想通了!這是由更改Console.Forecolor或背景顏色引起的。
我認爲這是單聲道或Linux發行版中的錯誤。看這裏:
https://github.com/mono/mono/blob/master/mcs/class/corlib/System/TermInfoDriver.cs#L149
現在看看你的$ TERM是什麼樣子 - 機會是它的內容是不是「的xterm」,但像「的xterm-256color」。你會注意到它通過。那裏發生了什麼,我不知道,但我不認爲這是通過ANSI終端,因爲這也應該工作,而是從您的發行版中挑選一個terminfo文件,它扼殺並釋放無效的轉義序列顏色標記。你也許會注意到,一旦你把你的$ TERM設置爲可以識別的東西,所有的顏色都會變得閃亮並且工作得非常棒。
沒有看到任何源代碼,只能推測,因爲你有,有一些編碼問題。 – 2013-03-11 04:31:45
它迴應出來,例如[信息] 0:34 bla bla bla。這是造成這種情況的部分,但我不知道爲什麼...... – user1454902 2013-03-11 04:43:31