出处:http://blog.csdn.net/zhubc/article/details/7293376
最近在学习Go语言,发现调用一些库函数失败后的返回字符串,都是一些乱码,觉得奇怪。所以写了一个最简单的程序来复现这个问题:

func main(){ 
        _, err := os.Open("none-exist-file") 
        if err != nil{ 
                fmt.Println(err) 
        } 

 

 
编译运行一切都正常,但是输出是乱码:
open none-exist-file: 绯荤粺鎵句笉鍒版寚瀹氱殑鏂囦欢銆? 
 
原因就是Go语言以UTF-8编码进行输出,而Windows控制台默认不支持UTF-8。解决方法就是更改code page,
使用命令 chcp,不加任何参数便显示当前的code page。把code page改为65001即可。另外还要把字体改为
Lucia Console。
【转】 Windows控制台上的UTF-8支持
【转】 Windows控制台上的UTF-8支持
 
这样的更改会导致其它一些不使用utf-8编码的程序出现乱码。
 
 
一些相关的link:

相关文章:

  • 2022-12-23
  • 2021-10-18
  • 2021-12-02
  • 2021-10-19
  • 2021-09-30
  • 2021-06-24
  • 2022-02-05
  • 2021-10-31
猜你喜欢
  • 2021-06-22
  • 2022-12-23
  • 2021-12-10
  • 2021-05-07
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案