2015-02-09 62 views
-1

我正在使用一個命令(powershell qwinsta)在windows os上返回活動會話。輸出包含中文字符(用於用戶名)。我必須驗證中文用戶名。但是我怎麼處理這個中文用戶名呢?如果我將輸出寫入控制檯,它將顯示問號,如果我將輸出(結果)重定向到文本文件,那麼它也會在文件中寫入問號(對於中文字符)。如何處理這個?處理包含中文字符的輸出

回答

0

一種選擇是將用於非Unicode程序的語言更改爲中文。在Windows 7上,轉到:控制面板,區域和語言,管理,更改系統區域設置並將其更改爲適當的中文設置。重新啓動,控制檯將支持中文字符。

另一種選擇是將輸出重定向到一個文件中的PowerShell,該文件中寫道UTF-16:

C:\>powershell 
Windows PowerShell 
Copyright (C) 2009 Microsoft Corporation. All rights reserved. 

PS C:\> qwinsta > out.txt 
PS C:\> notepad out.txt 
+0

第一個選項不適合我的情況,所以,我沒有嘗試。我試過第二種情況,但它不起作用。 – user1423015 2015-02-12 09:18:09

+0

@ user1423015,我剛剛從powershell'qwinsta> out.txt'運行,輸出文件默認使用UTF-16編碼。用記事本打開文件,它應該正確顯示內容。您的默認控制檯字體可能不支持中文。 – 2015-02-14 07:36:57

+0

我的控制檯支持Lucida Console,Consolas和Raster Fonts。我嘗試了所有這些,但沒有運氣。你使用哪種控制檯字體?你是怎麼得到這個的? – user1423015 2015-02-16 08:44:46