golang语言开发,遇到编码混排

孙沛2010 · · 256 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

golang语言开发的程序,遇到一个无法解决的问题
在windows环境,使用webcron调用*.bat文件,返回的错误信息有两种编码,包括 gbk和utf8
总要一种会显示乱码,还无法解决

开始执行任务: ϵͳ�Ҳ���ָ����·����
ϵͳ�Ҳ���ָ����·����
一月 17, 2019 1:48:22 下午 org.apache.karaf.main.Main$KarafLockCallback lockAquired
信息: Lock acquired. Setting startlevel to 100

其实这种情况,其他语言也一样,无法解开.

过程

  1. 看到乱码就查找编码解决方案,因为golang统一使用utf8编码,所以只能处在调用的接口上

  2. 将字符串转换为utf8编码,前一部分变为中文了,后一部分则变成乱码
    这中间还遇到一个问题,使用vscode编辑代码,调试时,提示的信息只有十几个字符,后面全省略了,如

    "exit status 1:ϵͳ�Ҳ���ָ����·����
    ϵͳ�Ҳ���ָ����·����
    ��...+11487 more"

    打印出来也是一样,这样加大了排除难度,解决了一部分,后面一部分又看不到,后来将字符串保存进db中,可看到全部了.

  3. db的编码是utf8的,所以,前面的gbk编码是保存失败的,这样,只能将前半部分正常显示,后半部分乱码显示保存到db中.

  4. 最后,检查调用的代码,经过设置,将前半部分的错误提示在调用程序中去掉了.这样,后半部分,不用处理即可正常显示.

本文来自:简书

感谢作者:孙沛2010

查看原文:golang语言开发,遇到编码混排

入群交流(该群和以上内容无关):Go中文网 QQ交流群:798786647 或 加微信入微信群:274768166 备注:入群; 公众号:Go语言中文网

256 次点击  
加入收藏 微博
上一篇:Java版本分析
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传