2009-11-11 39 views
2

PowerShell $ OutputEncoding默認爲ASCII。默認情況下,PowerShell表示Unicode中的字符串。當我使用ISE創建腳本時,它們使用Unicode創建。GitHub上的PowerShell腳本

以下命令將文本發送到爲Unicode文件: 回聲測試> test.txt的

當我把這些文件到GitHub上,代碼視圖對他們嗆,因爲他們不是UTF-8。

我對最佳解決方案感到困惑,在提交期間工作量最少。

我知道我可以轉換每個文件,然後提交,但似乎嘲笑我。顯然,我無法改變PowerShell在內部如何表示字符串,我也不想。

別人在做什麼?

回答

3

ISE保留現有文件的編碼,但是當您使用ISE創建新文件時,它總是使用Unicode編碼創建文件。這與$ OutputEncoding無關。 IIRC在開發週期後期被認爲是一個bug - 已經太遲了。無論如何,你可以工作,解決這個通過進入命令窗口中的第一次保存文件並執行:

$psISE.CurrentFile.Save([Text.Encoding]::ASCII) 

之後,你可以點擊保存按鈕。

+0

這樣做。 – rbellamy 2009-11-11 23:11:46