linux webservice端口号,解决在Linux环境下访问webservice发送中文乱码问题的方案

linux webservice端口号,解决在Linux环境下访问webservice发送中文乱码问题的方案首先 看在 windows 环境下正常显示中文的原因 打开 cmd 窗口 输入 chcp 你会发现输出 活动代码页 936 查阅 936 的意义 它指明了当前系统使用的编码 936 代表 GBK 扩展的 EUC CN 编码 GB 2312 80 编码 包含 6763 个汉字 到 Unicode GB13000

大家好,我是讯享网,很高兴认识大家。

首先,看在windows环境下正常显示中文的原因:打开cmd窗口,输入:chcp你会发现输出

活动代码页: 936

查阅936的意义:它指明了当前系统使用的编码,936 代表GBK 扩展的EUC-CN 编码( GB 2312-80编码,包含 6763 个汉字)到Unicode (GB13000.1-93)中定义的20902个汉字,即中国大陆使用的是简体中文zh_CN。

这说明,在windows下是默认采用的gbk方式编码,短信也没有中文乱码。

接下来再看linux环境下的中文编码格式:输入命令cat /etc/sysconfig/i18n

你会发现输出默认为:

LANG="en_US.UTF-8"

SYSFONT="latarcyrheb-sun16"

这说明,Linux默认支持的中文编码为UTF-8,webservice也是以该环境中的编码格式发送的字段。

37b51b232a0f
讯享网

所以出现了上图中的状况。

解决方式:修改Linux的中文编码。

执行命令:

vi /etc/sysconfig/i18n

将内容替换如下:

LANG="zh_CN.GBK"

SUPPORTED="zh_CN.UTF-8:zh_CN:zh"

SYSFONT="latarcyrheb-sun16"

修改保存后运行命令locale发现依然是utf-8编码格式。。

注意,此时不要着急reboot(linux重启系统命令,类似笔记本电脑重启系统,需要一段时间,有造成硬件损坏风险哦),将登陆用户先logout再login(登出后再登入),再次运行locale命令,你会发现被修改成GBK了:

LANG=zh_CN.GBK

LC_CTYPE="zh_CN.GBK"

LC_NUMERIC="zh_CN.GBK"

LC_TIME="zh_CN.GBK"

LC_COLLATE="zh_CN.GBK"

LC_MONETARY="zh_CN.GBK"

LC_MESSAGES="zh_CN.GBK"

LC_PAPER="zh_CN.GBK"

LC_NAME="zh_CN.GBK"

LC_ADDRESS="zh_CN.GBK"

LC_TELEPHONE="zh_CN.GBK"

LC_MEASUREMENT="zh_CN.GBK"

LC_IDENTIFICATION="zh_CN.GBK"

LC_ALL=

但此时你有可能发现打印的日志又乱码了,憋着急,不是说你的系统不支持gbk显示,而是你要修改你ssh客户端的编码跟系统编码gbk一致就ok啦~~~

修改成功之后,经测试,发现通过部署到Linux环境上后,发送的短信中文显示也不乱码了。至于为何手机接收短信不太支持UTF-8,具体原因没有深究。

其实这跟我前段时间做的iReport报表问题差不多,这些问题的出现都是由于windows和linux的一些环境差异造成的。毕竟一般情况下,开发工作是在windows下完成的,然而真正部署上线的是在linux环境中

小讯
上一篇 2025-03-07 07:59
下一篇 2025-04-08 12:03

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/67122.html