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

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

你可能感兴趣的:(golang语言开发,遇到编码混排)