linux怎样实现支持发送中文消息 。linux write命令的使用
把中文编码成UTF8字符BYTE数组,然后write写入BYTE数组
修改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,具体原因没有深究。
把系统LANG环境变量设置成中文就可以了