window平台开发 部署到linux时出现乱码

时间:2023-01-26 21:38:48
在windows平台下开发 tomcat设置的是utf-8的编码格式
部署到linux平台  tomcat 在catalina.sh 文件设置的export LANG=zh_CN.UTF-8

在url中有中文参数的情况下,window平台的后台是可以直接接到正确的中文
但是在linux服务器上,得到的参数就是乱码.
请教下  大家有没有类似的处理经验 , 帮帮忙. 谢谢.

9 个解决方案

#1


执行locale 命令看看呢

#2


这是执行locale命令的结果 帮忙分析下 对linux不熟. 谢谢
[root@localhost bin]# locale     
LANG=en_US
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=

#3


都统一成en_US得,然后系统开启对zh_CN的支持,apache也要开启

#4


手工执行一下
export LANG=zh_CN.UTF-8

然后重启apache,是否管用?

#5


引用 4 楼 justkk 的回复:
手工执行一下
export LANG=zh_CN.UTF-8

然后重启apache,是否管用?

试过了 还是不可以.

#6


引用 3 楼 lgxwqq111 的回复:
都统一成en_US得,然后系统开启对zh_CN的支持,apache也要开启


能给短命令么?

#7


没用的,windows 对中文编码通常是GB2312活或者GBK 看什么系统
Linux 想要正确显示中文 必须 :utf-8
所以必须转码 


可以用这个函数来实现GB2312 -> utf-8的转换 ,解决乱码问题

 MultiByteToWideChar( CP_ACP, 0, (LPCSTR)str, slen, (LPWSTR)buffer, length );

#8


两边的编码不统一

#9


utf-8

#1


执行locale 命令看看呢

#2


这是执行locale命令的结果 帮忙分析下 对linux不熟. 谢谢
[root@localhost bin]# locale     
LANG=en_US
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=

#3


都统一成en_US得,然后系统开启对zh_CN的支持,apache也要开启

#4


手工执行一下
export LANG=zh_CN.UTF-8

然后重启apache,是否管用?

#5


引用 4 楼 justkk 的回复:
手工执行一下
export LANG=zh_CN.UTF-8

然后重启apache,是否管用?

试过了 还是不可以.

#6


引用 3 楼 lgxwqq111 的回复:
都统一成en_US得,然后系统开启对zh_CN的支持,apache也要开启


能给短命令么?

#7


没用的,windows 对中文编码通常是GB2312活或者GBK 看什么系统
Linux 想要正确显示中文 必须 :utf-8
所以必须转码 


可以用这个函数来实现GB2312 -> utf-8的转换 ,解决乱码问题

 MultiByteToWideChar( CP_ACP, 0, (LPCSTR)str, slen, (LPWSTR)buffer, length );

#8


两边的编码不统一

#9


utf-8