CMD下執行Go出現中文亂碼的解決方法

2022-09-22 00:33:07 字數 1320 閱讀 3220

目錄

因為go的編碼是utf-8,而cmd的活動頁是cp936(gbk),因此產生亂碼。在中文windows系統中,如果乙個文字檔案是utf-8編碼的,那麼在cmd.exe命令列視窗(所謂的dos視窗)中不能正確顯示檔案中的內容。在預設情況下,命令列視窗中使用的**頁是中文或者美國的,即編碼是中文字符集或者英文字符集。

golang處理中文時預設是utf8,當遇到其他如gbk字元是就會出現亂碼,此處介紹golang 官方golang.org/x/text/encoding/simplifiedchinese包下的編碼轉換

simplifiedchinese.gb18030.newdecoder().bytes()

package main

import "golang.org/x/text/encoding/simplifiedchinese"

type charset string

const (

utf8 = charset("utf-8")

gb18030 = charset("gb18030")

)func convertbyte2string(byte charset charset) string

return str

程式設計客棧}

package main

import (

"bytes"

"fmt"

"golang.org/x/text/encoding/simplifiedchine"

"os"

"os/exec"

)type charset string

const (

utf8 = charset("utf-8")

gb18030 = charset("gb18030")

)func convertbyte2string(byte byte, charset charset) string

return str

}//arg 執行的bat檔案完整路徑

//返回錯誤資訊及訊息提示

func execcommand(arg string) (error, string)

//處理中文亂碼

garbledstr := convertbyte2string(w.bytes(), gb180程式設計客棧30)

message = err1.error() + garbledstr

//檔案不存在並且執行報錯

return err, message

} else

} //檔案存在並且執行bat檔案成功

return err, message

}

解決cmd下mysql中文亂碼問題

其實中文亂碼問題主要是cmd客戶端編碼格式跟mysql不符合導致的 預設情況下 cmd 編碼格式為gbk gb2312 mysql一般會設定為utf 8 所以只需要兩行命令就可以解決在cmd中文亂碼問題 此時輸入 setcharacter set client gbk 告訴我客戶端這邊的文字編碼 再...

Python在cmd下中文亂碼問題

在cmd命令列中執行py指令碼出現中文亂碼,如下 編碼 選擇 轉為ansi編碼 儲存即可 方法2 修改python指令碼 抬頭加 coding utf 8 並引入 import sys 獲取檔案系統編碼 type sys.getfilesystemencoding 最後在有中文輸出的位置使用 dec...

Win的cmd中文亂碼

中文顯示為亂碼,因為cmd終端編碼給是為gbk,而伺服器編碼格式為utf8,所以需要修改cmd終端編碼格式為utf8,但是網上看到好多解決方案是 1.執行cmd 2.輸入 chcp,回車檢視當前的編碼 3.輸入chcp 65001,回車 4.僅如此,還是不能支援utf8的正常顯示,你還要在窗體上右鍵...