乱码问题

拜拜、爱过 提交于 2020-02-27 13:51:37

经常遇到乱码问题,再次做一下总结可能不全,后期也会不定期更新。

1.服务器乱码

正常的UTF-8服务器编码应该是这样的吧。修改成功可以仔细对照下是不是一样。

huadong@d2692bb6bc28:~/szab_wx$ locale
LANG=zh_CN:UTF-8
LANGUAGE=zh_CN:zh:en_US:en
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=zh_CN.UTF-8


修改方式1:修改配置文件

vi /ect/local或者vi /etc/environment或者/var/lib/locales/supported.d/local,此处local的路径自己找一下。修改完执行locale-gen使配置生效,记得用root权限。 这种方式好处是可以永久生效,坏处是配置文件不太好找。所以还有第二种方式。

修改方式2:直接修改环境变量

export LANG=zh_CN.UTF-8

export LANGUAGE=zh_CN:zh:en_US:en

export LANGUAGE=LC_ALL=zh_CN.UTF-8

这种配置方式重新启动服务器就失效了。 修改完后用locale看看对不对。


2.链接工具乱码

我是用的xshell链接的。 在链接的时候有个地方可以配置默认的编码 当然如果不配配置也可以直接点工具栏的地球改。


3.http请求乱码

此处以spring-boot项目为例 application里面加如下配置

spring.http.encoding.force=true
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
server.tomcat.uri-encoding=UTF-8

4.java代码乱码

调用getByte方法有时候可能不一样 可以在appilcation里面加个配置file.encoding=utf-8来对getByte方法进行默认的编码。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!