Java常见的乱码问题

已更新 (详解)【两种解决乱码的方式】| 什么是乱码?| Java常见乱码情况 以及解决方案汇总:字符集不匹配、文件编码问题、数据传输时的编码问题、数据库编码问题、转换错误、控制台输出乱码 在Java编程过程中,乱码是一个常见的问题,它可能出现在文件读写、网络传输、字符编码转换等场景中。本文将介绍一些Java中常见的乱码问题,并提供相应的解决方案。通过阅读本文,你将了解在Java中常见的乱码问题,并学习如何使用正确的解决方案来处理乱码。这些解决方案包括使用统一的字符集、正确配置文件编码、注意数据传输中的编码方式等。 阅读详情

本文将介绍一种Java Web/Api 开发常见的乱码问题。

前提摘要:在学习Java Web的过程中,乱码问题是经常遇到的,无论是页面乱码还是数据库乱码。本文将罗列笔者在开发过程中常常遇到几种乱码场景。

一、JSP页面乱码

因为网页默认的编码格式为ISO-8859-1,该编码格式不支持汉字,所以在网页上显示为乱码???.

解决方案

在文件顶部添加header上添加
<pre>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
</pre>

二、ajax请求时 request.getParams乱码

在你的tomcat server.xml中配置

 <Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000" URIEconding="UTF-8" useBodyEncodingForURI="true"
           redirectPort="8443" />

</pre>

即添加URIEconding="UTF-8" useBodyEncodingForURI="true"

三、ajax请求时 response出去为乱码

在使用Spring MVC时 须在web.xml 配置

<filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>

mvc注释 RequestMapping 声明 增加utf-8声明如
@RequestMapping(method = RequestMethod.POST, produces = "application/json; charset=utf-8")

如果是普通的servlet时,则须代码编码之后输出

response.setContentType("text/html;charset=UTF-8");
三、文件乱码

经常在拿到别人的工程文件时,由于他不同的编码例如GBK之类的编码,需要在IDE中将文件编码统一成UTF-8 即可.

window平台下,可以实用notepad++进行编转化替换即可。

四、终端乱码

如果是 System.out.println 打印显示乱码 则 VM options 里 添加 -Dfile.encoding=UTF-8 参数

五、数据库乱码
  • jdbc链接utf-8声明

jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8

  • 新建数据库时,选择utf-8/utf-8mb4编码

六、emoji乱码支持
  • 新建数据库选择utf-8mb4

  • 数据库的字符集配置 参考mysql/Java服务端对emoji的支持

  • mysql-connector-java 版本升级至 5.1.22,此版本笔者亲测 Ok!

java从入门到精通 群 532259952


茶花
楼主

本文将介绍一种Java Web/Api 开发常见的乱码问题。

前提摘要:在学习Java Web的过程中,乱码问题是经常遇到的,无论是页面乱码还是数据库乱码。本文将罗列笔者在开发过程中常常遇到几种乱码场景。

一、JSP页面乱码

因为网页默认的编码格式为ISO-8859-1,该编码格式不支持汉字,所以在网页上显示为乱码???.

解决方案

在文件顶部添加header上添加
<pre>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
</pre>

二、ajax请求时 request.getParams乱码

在你的tomcat server.xml中配置

 <Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000" URIEconding="UTF-8" useBodyEncodingForURI="true"
           redirectPort="8443" />

</pre>

即添加URIEconding="UTF-8" useBodyEncodingForURI="true"

三、ajax请求时 response出去为乱码

在使用Spring MVC时 须在web.xml 配置

<filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>

mvc注释 RequestMapping 声明 增加utf-8声明如
@RequestMapping(method = RequestMethod.POST, produces = "application/json; charset=utf-8")

如果是普通的servlet时,则须代码编码之后输出

response.setContentType("text/html;charset=UTF-8");
三、文件乱码

经常在拿到别人的工程文件时,由于他不同的编码例如GBK之类的编码,需要在IDE中将文件编码统一成UTF-8 即可.

window平台下,可以实用notepad++进行编转化替换即可。

四、终端乱码

如果是 System.out.println 打印显示乱码 则 VM options 里 添加 -Dfile.encoding=UTF-8 参数

五、数据库乱码
  • jdbc链接utf-8声明

jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8

  • 新建数据库时,选择utf-8/utf-8mb4编码

六、emoji乱码支持
  • 新建数据库选择utf-8mb4

  • 数据库的字符集配置 参考mysql/Java服务端对emoji的支持

  • mysql-connector-java 版本升级至 5.1.22,此版本笔者亲测 Ok!

java从入门到精通 群 294919881

Redis架构演进:从主从、哨兵到集群,如何支撑亿级流量的秒杀场景? 本文深入探讨了分布式缓存Redis的三种核心高可用模式:主从复制、哨兵模式与集群模式。以高并发的电商秒杀业务为切入点,我们分析了每种模式的优缺点和适用场景,并最终选择Redis集群模式作为最佳解决方案。文章提供了基于Spring Boot和Spring Data Redis的完整实现代码,详细展示了如何配置和使用Redis集群来应对高并发、高可用的挑战,旨在帮助开发者在实际项目中做出正确的技术选型和架构设计。 阅读详情

相关推荐

[ESP32S3N16R8][LVGL8.3.0][IDF5.2.3]ST7701S RGB屏幕驱动[vscode最详细配置]

ST7701S ESP32S3 基于ESP-IDF5.2.3编写,编程环境为vscode。本教程详细讲述了esp32s3配置st7701s屏幕驱动以及gt911触摸驱动并关联到lvgl8.3.0,使用IDF5.23示例rgb_panel进行测试删除了其里面的屏幕驱动,改为单独编写屏幕和触摸驱动,最后完成了实列。

qq_44022379的博客 2608

【亲测有效】Win10家庭版Microsoft Edge页面出现乱码的两种解决方案及gpedit.msc命令无法使用的解决策略...

昨天在爬取电影的时候生成的表单打开result.html时,发现页面出现如下乱码: 第一种方法: 上网找了半天,网上的解决方案是这样的: 1.Win + R输入gpedit.msc打开组策略编辑器;   2.定位到计算机配置&amp;rarr;管理模板→windows组件→Internet Explorer→自定义用户代理字符串;   3.双击打开设置已启动,输入字符串“MSIE 9...

weixin_33972649的博客 8万+

PLC与变频器联动控制:从开关量、模拟量到通讯的接线与编程实战

在工业自动化系统中,电机调速控制是核心需求之一,其关键在于实现可编程逻辑控制器(PLC)与变频器之间的可靠联动。其基本原理是通过PLC输出控制信号,由变频器接收并驱动电机按设定速度运行。这项技术的核心价值在于实现电机的软启停、精确调速与节能控制,广泛应用于风机、水泵、传送带及精密张力控制等场景。其中,开关量控制以其接线简单、抗干扰能力强的特点,成为基础且可靠的方案;而模拟量控制则能实现无级平滑调速,满足更高精度的工艺要求。本文以西门子、三菱等主流品牌为例,深入解析了这两种主流控制方式的硬件接线、参数设置与梯

1270

【亲测有效】Win10家庭版Microsoft Edge页面出现乱码的两种解决方案及gpedit.msc命令无法使用的解决策略

【亲测有效】Win10家庭版Microsoft Edge页面出现乱码的两种解决方案及gpedit.msc命令无法使用的解决策略

weixin_43557787的博客 8836

Linux新手必看:FinalShell连接不上?从检查IP到配置固定地址的完整排错指南

本文为Linux新手提供了FinalShell连接失败的完整排错指南,涵盖IP检查、SSH服务状态、防火墙配置和静态IP设置等关键步骤。通过详细的命令行操作和配置示例,帮助用户快速解决远程连接问题,提升Linux使用效率。

weixin_30675247的博客 754

【MATLAB代码】UKF组合导航例程,15维状态量、3维观测量。附完整的代码,有中文注释、误差输出图像

摘要 本文提出了一种基于15维误差状态模型的UKF组合导航算法,实现了三维位置、速度和姿态的高精度估计。算法采用严格的误差状态模型,包含位置(3)、速度(3)、姿态(3)、陀螺偏差(3)和加速度计偏差(3)共15个状态量,通过3维GNSS位置观测进行校正。仿真结果表明,相比纯IMU积分,UKF算法能有效抑制误差积累,显著提高导航精度。文中提供了完整的MATLAB源代码,可直接运行并复现三维轨迹对比、位置/速度曲线及误差分析结果。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 312

中文乱码

Micheal_NET的技术专栏 1120

OceanBase容量统计:租户、数据库、表大小

🍎 数据库版本:OceanBase V4。

Sebastien23的博客 1407

Java中文乱码浅析及解决方案

Java中文乱码浅析及解决方案

改变从现在开始 5911

pycharm下载continue插件接入DeepSeek的API,向其提问输出乱码,如何解决?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 2227

Android 13.0 framework层系统手势增加上滑手势home事件功能(相当于Home键)

在13.0的定制化开发系统手势功能的时候,客户需求要求在上滑手势的时候,在底部上滑时候进入系统桌面,也就是增加 home键功能,所以就需要分析相关的系统手势上滑事件,然后添加home事件这样 就可以实现这个功能了

安卓兼职framework和app工程师的博客 1133

⭐️java乱码

Java乱码是指在Java程序中,由于字符编码不一致或不正确,导致原本应正确显示的字符被错误解释,从而在控制台、文件、网络通信或用户界面上出现不可识别字符的现象。乱码通常表现为问号(?)、方框(□)或一系列无意义的字符。这种现象不仅影响程序的可读性,还可能导致程序逻辑错误,增加调试难度。本文深入探讨了Java乱码问题,涵盖了从基本概念到具体解决方案的各个方面。我们首先定义了乱码问题,并分析了其在不同场景下的表现,如控制台输出、文件读写、Web应用和数据库操作等。

Python老吕的博客 1475

099、LLC谐振变换器的大信号建模

摘要:LLC谐振变换器的小信号模型在大信号工况(如启动、负载突变)下会失效,导致保护失灵、过冲等问题。通过状态空间平均法和分段线性化建立大信号模型,需关注谐振腔能量转移、模态切换条件及离散化实现。实际应用中,该模型可优化启动策略、精确设定保护阈值并验证环路补偿,但需注意变压器饱和等非线性因素。经验表明,大信号建模能显著提升设计可靠性,但需结合实验验证(误差<15%)和工具适配(如MATLAB离线仿真与C语言嵌入式调试)。三颗炸裂的MOSFET警示:深入掌握大信号建模是避免关键故障的必要手段。

Jack010169的博客 47

Java常见乱码问题总结

乱码问题一直困扰着开发人员: 下面对java的乱码问题做一个小结: 一、编码的基础概念 首先,要想解决java中文乱码问题就有必要了解一下什么是字符,字符集,编码的概念。字符:是文字与符号的总称,包括文字、图形符号、数学符号等。字符集:就是一组抽象字符的集合。字符集常常和一种具体的语言文字对应起来,该文字中的所有字符或者大部分常用字符就构成了该文字的字符集,比如

宇宙浪子的博客 516

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Java:常见中文乱码问题以及解决方案

Java:常见中文乱码问题以及解决方案

VipMao的博客 3076

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

java emoji显示乱码_菜鸟笔记(一) - Java常见的乱码问题

本文将介绍一种Java Web/Api 开发常见的乱码问题。前提摘要:在学习Java Web的过程中,乱码问题是经常遇到的,无论是页面乱码还是数据库乱码。本文将罗列笔者在开发过程中常常遇到几种乱码场景。一、JSP页面乱码因为网页默认的编码格式为ISO-8859-1,该编码格式不支持汉字,所以在网页上显示为乱码???.解决方案在文件顶部添加header上添加二、ajax请求时 request.get...

weixin_39554172的博客 260

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

java web乱码_java开发学习常见的乱码问题及解决方案

一、JSP页面乱码因为网页默认的编码格式为ISO-8859-1,该编码格式不支持汉字,所以在网页上显示为乱码?.解决方案在文件顶部添加header上添加<%@ page contentType="text/html;charset=UTF-8" language="java" %>二、ajax请求时 request.getParams乱码在你的tomcat server.xml中配置即...

weixin_39522312的博客 149

解决Java Web常见的乱码问题

对于一些新手来说,乱码几乎是家常便饭,而且每当乱码时,网上搜了一大堆解决方案,发现自己的问题还是没能解决,其实这就是平时研究代码不求甚解导致的,乱码问题,也要去分析,然后才能对症下药,才能药到病除。 以下为比较常见的编码设置 首先出现乱码之后,要先去确认乱码的地方,当一个网页上出现乱码,有可能是浏览器显示问题,也有可能是 Java 编码问题,也有可能数据库中的数据本身就是乱码的,所以我们要做的第一...

程序羊的博客 1303

java web乱码_「软帝学院」:Java编程开发学习常见的乱码问题及解决方案

本文将介绍一种Java Web/Api 开发常见的乱码问题。前提摘要:在学习Java Web的过程中,乱码问题是经常遇到的,无论是页面乱码还是数据库乱码。本文将罗列笔者在开发过程中常常遇到几种乱码场景。一、JSP页面乱码因为网页默认的编码格式为ISO-8859-1,该编码格式不支持汉字,所以在网页上显示为乱码???.解决方案在文件顶部添加header上添加<%@ page contentTy...

weixin_39863155的博客 77

java emoji显示乱码_java开发学习常见的乱码问题及解决方案

一、JSP页面乱码因为网页默认的编码格式为ISO-8859-1,该编码格式不支持汉字,所以在网页上显示为乱码?.解决方案在文件顶部添加header上添加二、ajax请求时 request.getParams乱码在你的tomcat server.xml中配置即添加URIEconding="UTF-8" useBodyEncodingForURI="true"三、ajax请求时 response出去为...

weixin_36047554的博客 487

java web中常见乱码问题

最基本的乱码问题 这个乱码问题是最简单的乱码问题。一般新会出现。 页面编码不一致导致的乱码 Html代码: <%@ page language="java" pageEncoding="UTF-8"%> <%@ page contentType="text/html;charset=iso8859-1"%> <html> <head> <title>中文问题</title>

一个人有了信仰,不管成不成功,至少不会迷茫。 3152

java exception 乱码_java 常见中文乱码问题解决

关于中文乱码:一、1).在jsp页面上输入中文,要保证中文不乱码,有三个前提:保证contentType=“text/html;charset=UTF-8”,pageEncoding=“UTF-8” charset和pageEncoding的编码一致,且都支持中文,通常建议取值为UTF-8,还需要摆正浏览器的显示的字符编码也和请求的jsp页面的编码一致。2)、常见问题实例:(比如两个jsp,b.j...

weixin_35531779的博客 1242

解决java中常见乱码问题

常见乱码问题1、文件编码2、工作区编码 utf-83、网页编码 utf-84、连接tomcat 编码5、连接数据库编码6、springmvc 是否加上字符编码过滤器 1、文件编码 如果你文件编码不对,转换成utf-8 2、工作区编码 utf-8 以eclipse为例: 3、网页编码 utf-8 Html 网页编码设置为 4、连接tomcat 编码 找到 Tomcat\conf\server.xml文件,加上 URIEncoding=‘UTF-8’ 原配置: 解决响应时中文乱码配置:<Con

weixin_45790347的博客 376
上一篇: 优秀Java程序员的编程风格
下一篇: 红黑树深入剖析及Java实现
python66
博客等级 码龄10年 91粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值