2014-10-22 150 views
1

我試圖做使用Windows命令行一些字符轉換,例如批處理腳本:字符替換批處理文件

É to Й 
Ö to Ц 
Ó to У 
Ê to К 
Å to Е 
Í to Н 
à to Г 
Ø to Ш 
Ù to Щ 
Ç to З 

沒有成功。這是因爲我使用的程序不支持西里爾字體。

,我已經用這些詞的文件,如:

ОБОГРЕВ ЗОНЫ 1 
ДАВЛЕНИЕ ЦВЕТА 1 
... 
and so on... 

這可能嗎?

+0

你使用Unicode?或者有從擴展的ascii表? – npocmaka 2014-10-22 09:14:27

+0

用於在'cmd' shell中使std輸出更易讀:'mode con cp select = 855' – JosefZ 2014-10-22 09:22:38

回答

0

我猜你想轉換文件的字符集(別名代碼頁),以便打開並閱讀它。 我假設你正在使用Windows計算機。

假設您的文件是russian.txt並且當您用記事本打開它時,這些字符沒有任何意義。 russian.txt文件的字符編碼最適合ANSI,它的代碼頁是Windows-1251。 有關字符編碼的一些字:

  • 在ANSI中,一個字符是一個字節長。
    • 不同的語言有不同的代碼頁:Windows的1251 =俄語,Windows的1252 =西方語言(英語,德語,瑞典語...),Windows的1253 =希臘...
  • 在UTF-8英文字符長度爲一個字節,非英文字符長度爲兩個字節。
  • 在Unicode中,所有字符都是兩個字節長。
  • UTF-8和Unicode不需要代碼頁。

您可以通過在記事本中打開文件並單擊文件另存爲來檢查編碼。在保存按鈕旁邊的右下角,您可以看到編碼。

隨着一些谷歌搜索,我找到了一個網站,您可以在線進行字符編碼轉換。我沒有測試過,但這裏的地址:

我做了一個腳本(=一個小程序),它從任何ANSI和代碼頁組合改變的字符編碼UTF-8或Unicode,反之亦然。

比方說,你有和英文的Windows電腦,並想將russian.txt(ANSI/Windows-1251)轉換爲UTF-8。 方法如下:

  • 打開該網頁,並在其中複製腳本到剪貼板:
  • 創建一個名爲ConvertCharset一個新的文件。vbs到相同的文件夾,其中russian.txt是,例如C:\ Temp。
  • 打開記事本中的ConvertCharset.vbs(右鍵單擊+編輯)並粘貼。
  • 打開CMD(Windows-button + R,cmd,Enter)。
  • 在CMD窗口式(打在線路的兩端回車鍵):

cd C:\Temp\ cscript ConvertCharset.vbs /InputCharset:Windows-1251 /OutputCharset:utf-8 /InputFile:russian.txt /OutputFile:russian_utf-8.txt

現在,您可以在記事本中打開russian_utf-8.txt,你會看到俄文字符OK。

更多信息:

+0

是的,我很確定我的解決方案適合您,因爲我檢查了您示例中的一些字符: [Windows-1252](http://en.wikipedia.org/wiki/Windows-1252)(西文)中的**É**爲201,在[Windows-1251](http:// en.wikipedia.org/wiki/Windows-1251)(俄語)對應** **。如果你認爲我的回答很好,請投票,如果不是的話,問我一個問題,我會試着回答。 – Ciove 2014-11-03 14:23:46

相關問題