解决Linux下中文变问号/乱码问题,解决Java等程序无法保存中文文件名、中文文件。

不管是开发环境,还是生成环境,linux的环境配置都很重要;大部分的linux操作系统(如:大部分的debian系统),默认都只有或者只激活了en_us.utf-8,如果只有en_us.utf-8的语言环境,可能就无法显示中文了。

所以,最好提前设置好语言环境。

解决Linux下中文变问号/乱码问题,解决Java等程序无法保存中文文件名、中文文件。头图不能少!

问题分析

Linux下Java输出带中文的文件,出现问号或者中文乱码问题:

解决Linux下中文变问号/乱码问题,解决Java等程序无法保存中文文件名、中文文件。中文乱码问题

解决方法很简单,大概分为两个步骤:安装和设置字库、设置语言环境变量。最终效果:

解决Linux下中文变问号/乱码问题,解决Java等程序无法保存中文文件名、中文文件。中文显示成功

需要注意:

立即学习“Java免费学习笔记(深入)”;

已经由Java等程序输出的文件(???文件名),因为是生成文件时,缺少字符集;添加和更改中文后,还是显示???。一些教程会让你直接修改/etc/default/locale,但是个人不建议修改这个文件为zh。更建议按本文方法,修改单用户语言。本次使用PHP中文网轻量应用服务器的Debian10进行实机演示嗷。

解决Linux下中文变问号/乱码问题,解决Java等程序无法保存中文文件名、中文文件。本次使用的服务器

安装字库

首先,看看系统有没有中文字库:

代码语言:txt复制

locale -a | grep zh_CN
解决Linux下中文变问号/乱码问题,解决Java等程序无法保存中文文件名、中文文件。存在中文字库

如果你没有中文字库,需要先安装中文字库支持。

安装中文字体

在安装和设置中文字库前,我们先安装一下中文字体。安装中文字体很简单:

代码语言:shell复制

# Debiansudo apt install fonts-wqy-zenhei# CentOSsudo yum install kde-l10n-Chinese

一般上述字体就足够使用,如果你在后文配置后,依旧无法使用,可以尝试安装全部wqy字体:

代码语言:shell复制

# Debiansudo apt install xfonts-intl-chinesesudo apt install wqy*
解决Linux下中文变问号/乱码问题,解决Java等程序无法保存中文文件名、中文文件。安装字体

激活中文字库

之后,激活中文字体,CentOS一般不需要激活中文字库:

代码语言:shell复制

# Debiansudo apt install localessudo dpkg-reconfigure locales

之后,就会进行语言选择:

解决Linux下中文变问号/乱码问题,解决Java等程序无法保存中文文件名、中文文件。语言选择

通过使用方向键来浏览列表,并使用空格来勾选激活区域设置。这里建议勾选en_US.UTF-8zh_CN. UTF-8 URF-8 等:

解决Linux下中文变问号/乱码问题,解决Java等程序无法保存中文文件名、中文文件。勾选内容

之后,回车:

选择默认系统语言,还是推荐还是用英文:

解决Linux下中文变问号/乱码问题,解决Java等程序无法保存中文文件名、中文文件。选择en_US.UTF-8

之后,再回车。系统会自动开始配置:

解决Linux下中文变问号/乱码问题,解决Java等程序无法保存中文文件名、中文文件。自动配置完成

设置中文环境

现在,我们就可以设置中文环境了。

也很简单,根据你当前的Shell,设置环境变量,查看当前Shell:

代码语言:txt复制

echo $SHELL
解决Linux下中文变问号/乱码问题,解决Java等程序无法保存中文文件名、中文文件。查看当前Shell

可以看到,我的Shell是zsh,你们的可能是/bin/bash,如果是和我一样,那么环境变量就是:~/.zshrc。如果是/bin/bash,那么环境变量就是:~/.bashrc

代码语言:txt复制

# 编辑环境变量vim ~/.zshrc
解决Linux下中文变问号/乱码问题,解决Java等程序无法保存中文文件名、中文文件。环境变量

之后,在文末追加:

代码语言:txt复制

# LANGexport LANG=zh_CN.UTF-8export LC_ALL=zh_CN.UTF-8export LC_LANG=zh_CN.UTF-8
解决Linux下中文变问号/乱码问题,解决Java等程序无法保存中文文件名、中文文件。文末追加

最后,保存并退出后。重载环境变量:

代码语言:shell复制

source ~/.zshrc

现在,就可以查看效果了。

最终效果

现在,我们的Java 程序 ,写入文件名时候,就可以写中文了:

解决Linux下中文变问号/乱码问题,解决Java等程序无法保存中文文件名、中文文件。写中文

但是,需要注意:

已经运行的Java程序,需要重新运行。一些虚拟终端,如:screen;需要关闭后重新打开。

如果还是没有生效,可以重启Linux。

以上就是解决Linux下中文变问号/乱码问题,解决Java等程序无法保存中文文件名、中文文件。的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/30738.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
牧场物语风之繁华集市各地区解锁条件及功能介绍 各地区怎么解锁
上一篇 2025年11月3日 19:15:49
通过微信位置定位,让您的店铺名字在市场中脱颖而出(如何利用微信位置功能提升店铺曝光度和客流量)
下一篇 2025年11月3日 19:17:44

相关推荐

  • AI PC的概念是炒作还是未来趋势?

    AI PC正通过专用芯片、本地化智能和新交互模式重塑个人电脑。专用NPU算力突破50TOPS,使设备可高效运行图像识别、语音分析等AI任务,实现快速安全的本地处理;高通在骁龙X Elite上运行130亿参数大模型,微软Windows 11原生支持本地AI,让文档润色、图像修复等操作可在无网环境下完成…

    2026年9月24日
    200
  • VSCode如何优化多项目切换 VSCode工作区快速跳转的实用技巧

    vscode优化多项目切换的核心是使用工作区功能并结合快捷键与插件。1. 创建工作区:通过“文件”→“将工作区另存为…”保存包含多个项目文件夹的.code-workspace文件;2. 配置工作区:在json格式的配置文件中定义folders和settings,如排除node_modules等无关文…

    2026年9月24日
    000
  • 怎样处理C++中的野指针问题 空指针检测与防御性编程

    怎样处理C++中的野指针问题 空指针检测与防御性编程怎样处理C++中的野指针问题 空指针检测与防御性编程怎样处理C++中的野指针问题 空指针检测与防御性编程怎样处理C++中的野指针问题 空指针检测与防御性编程

    野指针难以发现是因为其指向已失效或非法内存,解引用会导致未定义行为。1. 初始化是关键防线,声明指针时必须赋初值或设为nullptr;2. 使用智能指针std::unique_ptr和std::shared_ptr可自动管理内存生命周期,避免手动delete遗漏;3. 防御性编程要求每次使用指针前进…

    2026年9月24日 用户投稿
    200
  • Linux中如何安装Git工具_Linux安装Git工具的详细教程

    在Linux系统中安装Git工具是进行版本控制的第一步,尤其对于开发者来说非常关键。不同Linux发行版使用不同的包管理器,因此安装方式略有差异。下面将介绍在主流Linux系统中安装Git的详细步骤。 1. 在Ubuntu/Debian系统中安装Git Ubuntu和Debian系统使用apt作为包…

    2026年9月24日
    100
  • win11网络连接图标一直转圈显示正在识别怎么办_win11网络图标转圈解决方法

    重启网络服务、重置适配器、更改DNS及命令提示符重置网络组件可解决Windows 11网络图标转圈问题。 如果您在使用Windows 11时发现网络连接图标持续转圈,显示“正在识别”或无法正常获取网络连接状态,这通常意味着系统在尝试获取网络配置信息时遇到了阻碍。以下是多种可行的解决方法: 本文运行环…

    2026年9月24日
    100
  • 深入理解 javac 命令中的 ‘当前目录’ 与类路径

    在使用 javac 命令进行 Java 编译时,’当前目录’ 指的是执行该命令时所在的目录,而非源代码文件或 Java 安装路径所在的目录。这对于默认类路径(.)的解析至关重要,影响编译器查找依赖类文件的位置。理解这一概念有助于避免编译错误,并正确配置类路径。 什么是“当前目…

    2026年9月24日
    100
  • 如何监控Linux进程内存泄漏 pmap与valgrind工具使用

    如何监控Linux进程内存泄漏 pmap与valgrind工具使用如何监控Linux进程内存泄漏 pmap与valgrind工具使用如何监控Linux进程内存泄漏 pmap与valgrind工具使用如何监控Linux进程内存泄漏 pmap与valgrind工具使用

    要监控linux进程的内存泄漏,首先使用pmap观察内存增长趋势,再用valgrind定位具体泄漏点。一、使用pmap -x 查看进程内存映射,重点关注anon列和总内存变化,通过定期刷新判断是否存在异常增长;二、利用valgrind –leak-check=full启动程序,分析报告中…

    2026年9月24日 用户投稿
    100
  • 时区错误怎样校准?时间同步完整解决方法

    时区错误怎样校准?时间同步完整解决方法时区错误怎样校准?时间同步完整解决方法时区错误怎样校准?时间同步完整解决方法时区错误怎样校准?时间同步完整解决方法

    时区错误和时间同步问题通常由系统时区设置错误、硬件时钟漂移或ntp服务异常导致。1.确保系统时间通过ntp服务准确同步,linux可使用timedatectl检查ntp状态并启用systemd-timesyncd或chronyd,windows则开启自动时间同步;2.正确设置本地时区,linux使用…

    2026年9月24日 用户投稿
    200
  • win11开机后需要很长时间才显示桌面怎么办_win11开机桌面加载慢优化方法

    首先管理开机启动项,禁用非必要程序以减少资源占用;接着执行干净启动排查第三方服务干扰;然后优化硬盘性能,提升磁盘读写效率;再更新显卡与存储驱动确保硬件兼容性;最后运行病毒扫描清除潜在恶意软件,系统响应速度将显著改善。 如果您成功启动了Windows 11系统,但在输入密码或PIN后需要等待很长时间才…

    2026年9月24日
    100
  • Linux目录结构和文件属性管理

    一、fhs概述 文件系统层次化标准(Filesystem Hierarchy Standard,简称FHS)是Linux系统中常用的文件组织方式,类似于Windows中的C盘目录结构。FHS采用树形结构来组织文件,定义了系统中各个区域的用途、最小构成文件和目录,并提供例外处理与矛盾处理的指导。 FH…

    2026年9月24日
    000
  • 如何在Linux中设置文件默认权限?

    umask机制用于设置Linux文件默认权限,通过八进制值从基础权限666(文件)或777(目录)中减去对应权限位,如umask 022时文件为644、目录为755;可临时执行umask命令或在~/.bashrc、/etc/profile等配置文件中永久设置,修改后需重新登录或source生效,过严…

    2026年9月24日
    200
  • 如何查找Linux软件包提供文件 yum provides和apt-file使用

    如何查找Linux软件包提供文件 yum provides和apt-file使用如何查找Linux软件包提供文件 yum provides和apt-file使用如何查找Linux软件包提供文件 yum provides和apt-file使用如何查找Linux软件包提供文件 yum provides和apt-file使用

    在 linux 系统中,若需查找文件归属的软件包,可使用 yum provides(适用于 red hat 系列)或 apt-file(适用于 debian/ubuntu)。1. 在 red hat、centos 或 fedora 中,使用 yum provides 文件名 或 dnf provid…

    2026年9月24日 用户投稿
    000
  • ​​VSCode的进阶玩法!这些快捷键组合让你秒变编程大神​​

    要高效利用vscode进行代码导航,1. 使用ctrl + p / cmd + p快速打开文件;2. 使用ctrl + shift + o / cmd + shift + o定位文件中的符号;3. 使用ctrl + – / cmd + -后退,ctrl + shift + –…

    2026年9月24日
    700
  • 智能平权下,燃油车如何升级?

    智能平权下,燃油车如何升级?智能平权下,燃油车如何升级?智能平权下,燃油车如何升级?智能平权下,燃油车如何升级?

    曾几何时,“智能驾驶是电动车的专属”成为汽车行业的共识。宝马、奔驰、奥迪等传统豪华品牌长期专注于机械精密性和驾驶质感,在智能化布局上尤为谨慎,一度被贴上保守与落后的标签。 与此同时,新能源品牌凭借智能化迅速打开市场缺口,成功构建起“电动即智能、燃油即传统”的认知框架,在舆论和市场销量中占据先机。 ☞…

    2026年9月24日 用户投稿
    000
  • WPS怎么办批量打印文件_WPS多文档批量打印与队列管理步骤

    使用WPS内置批量打印功能,通过工具→批量处理→批量打印添加文件并设置参数后一键打印;2. 在资源管理器中多选文件右键以WPS打开,再在文件菜单中选择打印所有文档;3. 通过控制面板的设备和打印机进入打印队列,可实时监控、暂停或取消任务,确保批量打印过程稳定可控。 如果您需要在短时间内处理多个WPS…

    2026年9月24日
    500
  • Intel OpenCAS缓存加速方案

    open cas 架构概览:数据从hdd盘读取后被复制到open cas的缓存中,后续的读取操作从内存中进行,从而提高读写效率。在write-through模式下,所有数据同步刷新到open cas的ssd和后端的hdd中。在write-back模式下,数据同步写入到open cas的ssd中,然后…

    2026年9月24日
    500
  • 电脑网络连接限制为100Mbps怎么办_网速被限制的解决方法

    首先确认网卡是否支持千兆速率,进入设备管理器查看网络适配器型号并核实规格;接着在网卡属性中将“速度和双工”设置为1.0 Gbps全双工或自动协商;更换符合Cat 5e及以上标准的网线,确保物理连接可靠;检查路由器或交换机端口设置,确保未强制限制为100Mbps;更新或重装网卡驱动程序至最新版本;最后…

    2026年9月24日
    300
  • 如何通过日志排查权限问题

    排查权限问题需从日志入手,重点分析时间、用户、资源路径、拒绝原因及调用堆栈。首先检查应用日志中“用户无权访问”等提示,结合Web服务器日志中的403/401状态码定位请求异常;再查看操作系统日志如/var/log/secure中SSH或sudo拒绝记录,确认系统级权限问题;同时审查中间件如Sprin…

    2026年9月24日
    100
  • hive安装配置实验

    一、安装前的准备工作 1. 配置并安装hadoop,请参考链接http://blog.csdn.net/wzy0623/article/details/50681554。 2. 下载以下安装包:mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz、apache-hive…

    2026年9月24日
    700
  • 命令行下MySQL中文乱码如何设置utf8编码

    mysql命令行中文乱码解决方法是统一各环节字符集为utf8mb4。具体步骤如下:1.查看当前编码设置,确认character_set相关变量是否为utf8或utf8mb4;2.修改配置文件,在[client]和[mysqld]下设置默认字符集为utf8mb4并重启服务;3.修改已有数据库和表的字符…

    2026年9月24日
    200

发表回复

登录后才能评论
关注微信