linux webservice端口号,解决在Linux环境下访问webservice发送中文乱码问题的方案
首先,看在windows環(huán)境下正常顯示中文的原因:打開cmd窗口,輸入:chcp你會發(fā)現(xiàn)輸出
活動代碼頁: 936
查閱936的意義:它指明了當(dāng)前系統(tǒng)使用的編碼,936 代表GBK 擴(kuò)展的EUC-CN 編碼( GB 2312-80編碼,包含 6763 個(gè)漢字)到Unicode (GB13000.1-93)中定義的20902個(gè)漢字,即中國大陸使用的是簡體中文zh_CN。
這說明,在windows下是默認(rèn)采用的gbk方式編碼,短信也沒有中文亂碼。
接下來再看linux環(huán)境下的中文編碼格式:輸入命令cat /etc/sysconfig/i18n
你會發(fā)現(xiàn)輸出默認(rèn)為:
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
這說明,Linux默認(rèn)支持的中文編碼為UTF-8,webservice也是以該環(huán)境中的編碼格式發(fā)送的字段。
所以出現(xiàn)了上圖中的狀況。
解決方式:修改Linux的中文編碼。
執(zhí)行命令:
vi /etc/sysconfig/i18n
將內(nèi)容替換如下:
LANG="zh_CN.GBK"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
SYSFONT="latarcyrheb-sun16"
修改保存后運(yùn)行命令locale發(fā)現(xiàn)依然是utf-8編碼格式。。
注意,此時(shí)不要著急reboot(linux重啟系統(tǒng)命令,類似筆記本電腦重啟系統(tǒng),需要一段時(shí)間,有造成硬件損壞風(fēng)險(xiǎn)哦),將登陸用戶先logout再login(登出后再登入),再次運(yùn)行l(wèi)ocale命令,你會發(fā)現(xiàn)被修改成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=
但此時(shí)你有可能發(fā)現(xiàn)打印的日志又亂碼了,憋著急,不是說你的系統(tǒng)不支持gbk顯示,而是你要修改你ssh客戶端的編碼跟系統(tǒng)編碼gbk一致就ok啦~~~
修改成功之后,經(jīng)測試,發(fā)現(xiàn)通過部署到Linux環(huán)境上后,發(fā)送的短信中文顯示也不亂碼了。至于為何手機(jī)接收短信不太支持UTF-8,具體原因沒有深究。
其實(shí)這跟我前段時(shí)間做的iReport報(bào)表問題差不多,這些問題的出現(xiàn)都是由于windows和linux的一些環(huán)境差異造成的。畢竟一般情況下,開發(fā)工作是在windows下完成的,然而真正部署上線的是在linux環(huán)境中
總結(jié)
以上是生活随笔為你收集整理的linux webservice端口号,解决在Linux环境下访问webservice发送中文乱码问题的方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python环境变量的运用_Window
- 下一篇: 使用c++查看linux服务器某个进程正