关于Java开发Idea中编码,解码以及解决中文乱码的实践经验

Java 基础 - idea汉字输出乱码 在使用 IntelliJ IDEA 时,如果在控制台输出汉字出现乱码,通常是因为控制台的字符编码设置不正确。 阅读详情

前言

        关于这一块,特别是中文乱码,网上教程多得不能再多了,大家各抒己见,各种有着自己的实践经验和体会,但是吧,idea这东西,本身也做为IDE,集成开发环境,里面的很多配置对用户来说唯有API设置是可见的,于是就有一系列的设置来解决IDE上的问题。

关于编码和解码

编码,在设置以xxx格式编码时,比如在一个文本下,输入一个hello,并设置编码形式是"UTF-8",那么这个文本就是“UTF-8”编码格式下的"hello"。

解码:在上面的基础上,“utf-8”编码下的文件当然要对应用"utf-8"来进行解码。

总之:编码和解码的格式要保持一致。“UTF-8”的文件用“GBK”打开当然是会出现中文乱码的。

关于中文乱码

这点当我在使用tomact服务器打印日志时出现了这个问题。

idea中关于编辑器的编码设置

  File/Directory Encoding 优先于 Project Encoding,Project Encoding 优先于 Global Encoding 。

试想这样一个常见的场景,servlet对一个请求返回中文字符串。

 解决Servlet的response的中文乱码

 response设置使用编码为“utf-8”,这样在Idea的编辑器里返回中文字符,哪所写的中文字符到底是编辑器的编码方式还是response里设置的编码方式?

答案是:为response里设置的编码方式(经过我测试,java文件是UTF-8编码,response里设置成GBK,则response里的中文为response里设置的编码)

测试如下:Response设置成GBK

package com.cast.web;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;


@WebServlet(value = "/test")
public class test extends HttpServlet {
    @Override
    protected  void doGet(HttpServletRequest request, HttpServletResponse response)
    throws   ServletException ,IOException
    {
        //第一种方式
       response.setContentType("text/html;charset=GBK");

       //第二种方式
//        response.setCharacterEncoding("utf-8");
//        response.setHeader("Content-Type","text/html;charset=UTF-8");
        PrintWriter printWriter =response.getWriter();



        printWriter.write("你好,世界!");
        printWriter.flush();

        printWriter.close();

    }
}

 编辑器里对该文件设置编码为UTF-8

查看网页的解码 

 

 

 

 结果是正确的。

 

若设置java文件编码为utf-8,控制台打印代码里的中文的提示语句。 控制台解码默认是系统的编码为"GBK"。用“GBK”的方式进行解码,则肯定为中文乱码。

解决控制台中文乱码

使得控制台显示中文字符时的解码格式与中文字符的编码格式一致。

第一种:把编辑器设置成与控制台相对应的编码。控制台默认是GBK,则编辑器也为GBK。

 

第二种:把控制台编码设置为编辑器设置的编码。编辑器为UTF-8,则控制台也为UTF-8.

如下 

引用

idea设置-----编码格式设置_翱翔的小菜鸟的博客-优快云博客_idea编码格式设置

 IDEA控制台乱码问题,原因&解决方式,解决不了算我输_逆光影者的博客-优快云博客_idea控制台乱码

2023 华为OD机试备考攻略 以及题库目录分值说明 考点说明 (A卷+ B卷) 过去,华为的"项目外包"主要针对非核心业务岗位,由于人员交付能力有限且稳定性不高,效果并不理想。为了解决更为核心的业务问题,华为于2019年开始探索并实行新的研发"人力外包"模式。这种模式按准雇员标准进行招聘,由业务部门负责培养和管理,对于绩效优秀且能力突出的人才提供转正式员工通道。 阅读详情

相关推荐

Java中文乱码问题全面解析及解决方案

在Java开发过程中,中文乱码问题是初学者乃至经验丰富的开发者都可能会遇到的一个常见困扰。本篇文章将深入剖析Java中中文乱码产生的原因,并提供一套全面、细致的解决方案,助力每一位Java学习者扫清字符编码障碍,确保程序在处理中文字符时能够准确无误。处理Java中文乱码的核心原则是遵循“统一编码、正确配置、明确处理”的原则,即保持编码的一致性,始终明确指定输入、处理和输出过程中的字符编码。同时,了解并遵循Java平台本身对编码的支持与处理机制也是十分重要的。

Jz_Stu的博客 1万+

Idea查看字节编码

idea查看字节编码

日常学习总结 4136

IDEA使用过程中的中文乱码问题

作为一款集成开发环境,IDEA被广泛应用与Java项目开发中。在使用IDEA进行Java工程开发时,难免会遇到一些出现中文乱码的场景,中文乱码场景主要出现在两个方面:一是用IDEA打开文件时看到的文件内容中中文部分为乱码,一是在IDEA运行输出时输出内容乱码。引起中文乱码的因素不少,本文讲述一些IDEA使用过程中处理中文乱码的方式。

mystonelxj的博客 2859

IDEA 查看项目编码

idea 配置

happy_star123的博客 5615

先进封装技术 Part03---重布线层(RDL)的科普

RDL是一种在芯片封装过程中用于重新分布电气连接的技术。它通过在芯片表面或中介层上形成额外的布线层,重新分配芯片的I/O(输入/输出)位置,以适应不同的封装需求和提高电气连接的灵活性。

阿拉伯梳子的专栏 4703

XY2-100协议解析

1.XY2-100包括四路信号 : SENDCK(时钟信号)、SYNC(同步信号)、CHANNELX(X通道)、CHANNELY(Y通道)

qq_38360574的博客 9532

java中解码和编码出现乱码原因

到此这篇关于java中解码和编码出现乱码说明以及代码实现的文章就介绍到这了,更多相关java解码和编码乱码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

fengbin2005的专栏 2920

QMT量化交易实战:如何用通达信预警数据自动买卖股票(附完整Python代码)

本文详细介绍了如何利用QMT平台对接通达信预警数据,构建自动化股票交易系统。通过完整的Python代码示例,展示了从数据获取到订单执行的全流程,帮助投资者实现量化交易策略的自动化执行,提升交易效率。

weixin_29234423的博客 210

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

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

weixin_43860634的博客 2370

innovus 命令每日精要 | 掌控Innovus布线的利器——setNanoRouteMode详解

在数字IC后端设计的复杂世界里,布线优化是至关重要的一步。今天,我来给大家深入讲解Innovus工具中setNanoRouteMode命令的精妙之处,让你轻松驾驭布线策略,提升设计质量。setNanoRouteMode是Innovus中用于配置NanoRoute绕线行为的关键命令。通过其丰富的参数,你可以精细控制布局后阶段的绕线策略、信号完整性优化、工艺适配及设计规则修复等流程。下面,我将按功能分类总结其核心选项,并针对不同场景给出建议。

weixin_50820814的博客 3528

YOLOv8改进策略【Neck】| CVPR 2024 MFM(Modulation Fusion Module,调制融合模块):动态特征加权融合,突出关键特征抑制冗余

本文主要利用DCMPNet中的 MFM 模块优化 YOLOv8 的目标检测网络模型。模块通过动态调制特征融合过程,实现了对多尺度、跨层级特征的智能聚合。将其应用于的改进过程中,针对目标检测中边界特征与语义信息的互补性需求,缓解网络中浅层细节与深层语义融合不足的问题。Depth Information Assisted Collaborative Mutual Promotion Network for Single Image Dehazing在图像去雾网络中,不同层级和类型的特征包含着互补的信息(如浅层的

Limiiiing的博客 351

关于Scanner读取中文乱码的问题,超级详细,涉及windows编码和jvm解码的原因。

Scanner读取中文乱码问题,原因解答超级详细

qq_49395994的博客 4393

RK3568适配MIPI屏幕触摸,触摸延时很大

我用的是系统,接了一个,设备树已经正确配置,evtest测试坐标值和触摸位置都是准确的。但是出现了一个:我在屏幕上点一下,要等大约 2 秒才能在evtest里看到坐标事件打印。这种现象在 Goodix 系列触摸驱动里比较少见,一般意味着。

小灰灰的博客 1363

乱码问题总结:常见的中文乱码问题

问题使用cmd命令窗口,运行java命令时候出现中文乱码解决桌面上我的电脑图标—》右击选择属性—》高级系统设置—》高级—》环境变量—》系统变量栏点击新建:框中分别输入如下值打开cmd命令行,运行javac命令,此时不再乱码,成功解决。

baomingshu的博客 6238

【GameFramework框架内置模块】10、本地化(Localization)

本地化(Localization),也就是我们所说的不同地区的语言适配,比如说中文版“你好”,英文版是“Hello”。GameFramework在本地化方面,不仅支持文本的本地化,还支持任意资源的本地化,比如说游戏中释放烟花的特效也可以做出不同地区的版本,使得中文版烟花里面的“新年好”字样的特效,在英文版里面是“Happy New Year”字样的特效。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 2303

18、基于FSDD数据集的深度学习案例分析

本文基于FSDD(Free Spoken Digit Dataset)数据集,系统介绍了深度学习在语音数字识别中的应用。内容涵盖动态与静态计算图的对比、数据预处理流程(包括数据增强、固定长度处理和归一化)、监督学习与无监督学习的模型构建与训练过程,并通过实验对比了不同网络架构的性能。文中使用PyTorch实现2层全连接网络和自编码器模型,展示了正则化技术对提升模型准确率的关键作用。最后总结了关键技术并提出了实际应用建议,展望了未来在复杂模型、多模态融合和实时应用方向的发展潜力。

vscode6remote的博客 260

IO流:java中解码和编码出现乱码说明及代码实现

IO流:java中解码和编码出现乱码说明及代码实现

weixin_43860634的博客 1122

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

IDEA2024最新版本运行Web应用时 Tomcat 日志中的中文乱码问题修复解决

在使用tomcat的时候经常遇到乱码问题,要么是控制台输出乱码或者输出日志乱码,要么页面接收乱码,产生乱码的根本原因就是编码和解码不一致。网上有的文章写得也有问题,今天自己多看了一些文章,同时自己试了试摸索了一下,找到了终极解决方法。IDEA2024运行 Tomcat 中文乱码问题的修复解决办法包括以下几个步骤和涉及的几个配置文件。注明一下,我这里的 Tomcat 版本是 10.1.31 版本。

本博客记录了从2014年以来在工作学习中遇到的技术问题、解决方法以及部分个人人生经历、经验等内容。 2650

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

IDEA中文棱形乱码错误解决方法--控制台中文输出棱形乱码

IDEA控制台输出错误,中文乱码成棱形。

算法、原理、设计模式、非线性控制、深度强化学习 6726

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

解决IntelliJ Idea中文乱码问题

最近使用IntelliJ Idea时,总出现中文乱码的问题。乱码的根源是字符编码与解码不一致经过一番捣鼓,终于找到解决之道:统一编码本文介绍IntelliJ Idea中如何统一编码打开IntelliJ Idea,点击File菜单-->Settings...在打开的对话框中,选择Editor-->File Encodings更改右侧关于Project的编码,让其保持一致。然后点击OK,a...

weixin_41233524的博客 5062

tomcat乱码的几种解决

cmd启动tomcat出现中文乱码:这是由于windows下的cmd的默认编码是GBK编码,Tomcat控制台默认输出设置为UTF-8编码cmd属性中的默认编码为GBK(方式一)修改CMD命令行的编码格式为UTF-8(方式二)将tomcat控制台日志输出编码格式更改为GBK,修改tomcat根目录下conf/logging.properties文件中的ConsoleHandler.encoding=utf-8,这种方式能解决cmd控制台中文乱码,但不建议使用。修改tomcat日志配置文件。

顺其自然~专栏 2万+

IntelliJ IDEA 中 Tomcat 控制台乱码解决方法(更新于2025/11)

首先,看一下处理过后的控制台输出非常的清爽啊,心旷神怡。(感觉心情美美哒)之前一直都看着乱码的控制台,想着反正对实际应用没什么影响,等下弄一下,一天就过去了,还不如多做点事情,学点技术。但今天运行时,看到一团乱麻麻的东西在我的控制台,而我的测试的日志却掺杂在其中,感觉它真的是孤立无援,遂狠下心,特来解救。看了很多解决文章,尝试了很多遍。先给出我的idea版本及tomcat版本,又可能版本不同,解决办法不同。(最后面给出了我尝试过的方法)如未解决你的问题,请勿责怪,小生这厢有礼了。

ice_breaking1的博客 2504

java web项目各种中文输出乱码解决方案汇总

1、问题:tomcat服务器启动乱码 解决方法 按照下图打开idea64.exe.vmoptions文件 添加代码-Dfile.encoding=UTF-8 解决后的结果 2、问题:servlet项目控制台打印中文乱码 解决方法 打开tomcat编辑界面 在VM option中添加-Dfile.encoding=UTF-8 3、问题:get和post方式中文乱码 (1)get方式的中文乱码...

zfliu96的博客 5648

Java中文乱码问题的分析及其解决方案

随着全球化的发展,软件需要支持多种语言,特别是中文。然而,Java开发者经常遇到中文乱码问题,这可能会导致数据传输和显示错误。本文将深入探讨Java中文乱码的原因,并提供一系列解决方案。处理Java中文乱码问题需要细心和正确的编码知识。本文提供的解决方案可以帮助开发者避免常见的陷阱,确保软件能够正确处理中文字符。

脚踏实地,实事求是。 9686

详细解决tomcat乱码 IDEA控制台乱码

idea控制台乱码,tomcat启动乱码问题解决

AgonyAngela的博客 3711

解决IDEA控制台中输出中文乱码并探究原因(JDK18及以上)

有意思的一点是,这里不会影响正常的System.out.println输出到控制台并正确显示,我源代码是utf-8,这些字符串也理应是utf8的编码,拿System流自带的getProperty方法拿到的输出流编码也是utf-8。总结一下,日志编码和println输出流的编码是不一样的,为了更好的兼容性,我们文件里的编码一定要全部用utf-8,毕竟控制台只是一个临时调试的地方,不要因小失大,要用最小的改动达成最好的效果。运行环境:JDK 21 Tomcat 10.1.30 IDEA 2024.2.2。

weixin_73162741的博客 2712
上一篇: ESP32的MQTT AT固件烧录+STM32以ESP32的MQTT AT固件的AT指令连接EMQX下mqtt服务器实现消息订阅和发布
下一篇: 基于STM32的自动重装载auto-reload preload以及影子寄存器
昊月光华
博客等级 码龄6年 340粉丝 158原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值