总结 乱码 的处理

设置JDK

环境变量设置:

JAVA_TOOL_OPTIONS
-Dfile.encoding=UTF-8

在这里插入图片描述

Tomcat乱码

启动时出现乱码

在网上下载了一个版本号为apache-tomcat-8.5.38的Tomcat,因为这个Tomcat一直没有用过,所以今天启动时出现了如下乱码:

在这里插入图片描述
解决方案:
找到Tomcat目录下conf文件夹中的logging.properties文件,
在这里插入图片描述
打开logging.properties文件,找到文件中的java.util.logging.ConsoleHandler.encoding = UTF-8,
在这里插入图片描述
将其中的UTF-8改为GBK,保存后重启Tomcat服务,启动后就会看到刚才的乱码已经转换过来了。
在这里插入图片描述

Tomcat的标题出现了乱码

我常用的Tomcat标题的命名有下面两种:
首先找到Tomcat目录下bin目录下的catalina.bat文件,用记事本打开:
在这里插入图片描述
第一种:在这个地方写这么一句:

set TITLE=Tomcat 8.5.38 这里是标题乱码测试

在这里插入图片描述
第二种:在Tomcat原来标题的位置写标题:
在这里插入图片描述

说明: 不管是使用哪一种方式,其效果都是一样的,但是,如果同时使用两种方式,在启动的时候会闪退!
来看看正常启动后的效果:
在这里插入图片描述
标题位置出现了乱码,这个时候可以用Notepad++来调整文件的编码:
在这里插入图片描述
我们可以看到现在文件使用的是UTF-8编码,我们可以点击下面的 转为ANSI编码 来调整文件的编码,点完了不要忘了保存哦~重启Tomcat来看看效果:
在这里插入图片描述
问题解决!


Eclipse控制台乱码

  1. 修改tomcat的conf路径下的server.xml文件,在端口号那一行添加URIEncoding=“UTF-8”
  2. 在eclipse的安装目录下有一个eclipse.ini文件,在最后一行添加-Dfile.encoding=UTF-8,修改eclipse的默认编码为UTF-8
  3. 在eclipse里面:菜单Windows->Preferences -> MyEclipse Enterprise Workbench->Servers->Tomcat,选择tomcat版本例如Tomcat 6.x,再选择JDK,在右侧Optional Java VM arguments:中添加-Dfile.encoding=UTF-8

Intellij IDEA启动Tomcat 控制台乱码

2020版本以前

  1. 打开tomcat配置页面,Edit Configurations。
    在这里插入图片描述
  2. 选择项目部署的tomcat,在配置项VM options文本框中输入-Dfile.encoding=UTF-8,点击Apply或OK即可。
    在这里插入图片描述
  3. 修改部署的Tomcat server.xml

URIEncoding=“UTF-8”

在这里插入图片描述

  1. 尝试重启tomcat,乱码问题解决。

ps:若乱码问题依然存在,请尝试继续按以下步骤解决:

  1. 打开IntelliJ IDEA本地安装目录中bin文件夹下的idea.exe.vmoptions和idea64.exe.vmoptions这两个文件。
    在这里插入图片描述
  2. 分别在这两个文件内容的末尾添加-Dfile.encoding=UTF-8
    在这里插入图片描述
  3. 打开IntelliJ IDEA>File>Setting>Editor>File Encodings,将Global Encoding、Project Encoding、Default encodeing for properties files这三项都设置成UTF-8,点击OK或者Apply。

在这里插入图片描述

  1. 重启IntelliJ IDEA即可解决乱码问题。

针对 2020.1 以后版本的控制台乱码解决

HELP->Edit Custom VM OPtions中加 -Dfile.encoding=UTF-8
重启idea

在这里插入图片描述


Ajax提交 返回中文乱码

@GetMapping(value = "getXz", produces="text/html;charset=UTF-8;")
@ResponseBody
public String returnXzByZyid(String zyid) {
	return zsdjService.returnXzByZyid(zyid);
}

原理:手动给对应的Accept返回制定格式编码数据。


Xshell6中文乱码

在root用户下 :

vim /etc/profile

在文件的最后一行加入 export LC_ALL=zh_CN.utf-8,即可解决乱码问题

vim 命令:
i 插入
:wq 保存


SSH远程连接工具乱码

在这里插入图片描述

Linux编码默认UTF-8,而SSH工具编码默认GBK,并且不可修改。
所以只能修改Linux编码为GBK。使用vi编辑器也可通过下一节的EditPlus工具。修改完重新连接一下即可。

/etc/locale.conf —> GBK

JPA 保存MySQL 中文乱码问题

场景:
Spring Boot使用JPA,当前端传入到后端的数据为中文的时候,入库变为???
在这里插入图片描述
解决:
项目数据库连接指定字符集 characterEncoding=utf-8 即可

spring.datasource.url=jdbc:mysql://localhost:3306/testDemo?autoReconnect=true&useSSL=false&characterEncoding=utf-8

使用Kettle转移数据遇到中文乱码问题

使用kettle进行数据同步的时候,发现同步来的中文数据产生了乱码。中文变成了?,如图:
在这里插入图片描述
百度了很多方法,做下总结:

1. Kettle中配置源数据库、目标数据库编码

characterEncoding=utf8

在这里插入图片描述

2. 编辑“表输入”,去掉勾选“允许简易转换”

在这里插入图片描述

3. 如果不行,就清理一下Kettle数据库连接的缓存

在这里插入图片描述

4. 如果还不行,可以试着在kettle的启动文件添加字符集,即在 Spoon.bat 文件中添加 "-Dfile.encoding=UTF-8"

在这里插入图片描述

5. 工作中遇到,以上方法都不行

排查原因:

  1. 检查输入是没乱码的,如图:
    在这里插入图片描述
  2. 输出不能预览数据,以上方法都试过了 还是不行
  3. 尝试把编码改为GBK,居然好了 真是服气~~!!
    在这里插入图片描述
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Windyº

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值