bat批處理腳本中文亂碼問題解決

問題描述

bat 批處理腳本如下

@echo off

echo hello,world.
echo 你好,中國

pause

在 CMD 執行該腳本時,出現了中文亂碼

問題分析

  1. 亂碼都跟字符編碼有關係。
  2. 計算機只能處理數字,如果遇到文本,必須先將其轉換爲數字後才能處理,由此出現了字符編碼(字符集)。如果編碼時採用某種字符編碼,那麼解碼時,必須得相對應使用同一種字符編碼,如採用不同的字符編碼,會出現亂碼。

問題解決

1. 轉換腳本文件的編碼方式

默認情況下,在 bat 腳本文件中,如果中文不是ANSI編碼,就會出現亂碼。因此,可以採用Windows操作系統平臺自帶的記事本打開腳本文件,點擊菜單【文件】-【另存爲】操作,選擇ANSI編碼進行保存。

轉換編碼後,再次運行,中文亂碼問題得到解決。

2. 更改代碼頁

在原先 bat 腳本文件中聲明更改代碼頁

chcp 65001


再次運行,中文亂碼問題得到解決。

拓展

  1. chcp 命令

Changes the active console code page.

  1. 常用代碼頁映射
代碼頁 映射的字符集
936 GB2312
20127 US-ASCII
65001 UTF-8
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章