3.8 KiB
3.8 KiB
本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net
目录
Linux 下 Java 输出带中文的文件,出现问号或者中文乱码问题:
解决方法很简单,大概分为两个步骤:安装和设置字库、设置语言环境变量。最终效果:
需要注意:
- 已经由 Java 等程序输出的文件(
???
文件名),因为是生成文件时,缺少字符集;添加和更改中文后,还是显示???
。 - 一些教程会让你直接修改
/etc/default/locale
,但是个人不建议修改这个文件为zh
。
安装字库
首先,看看系统有没有中文字库:
locale -a | grep zh_CN
安装中文字体
安装中文字体很简单:
# Debian
sudo apt install fonts-wqy-zenhei
# CentOS
sudo yum install kde-l10n-Chinese
一般上述字体就足够使用,如果你在后文配置后,依旧无法使用,可以尝试安装全部 wqy 字体:
# Debian
sudo apt install xfonts-intl-chinese
sudo apt install wqy\*
激活中文字库
之后,激活中文字体,CentOS 一般不需要激活中文字库:
# Debian
sudo apt install locales
sudo dpkg-reconfigure locales
之后,就会进行语言选择:
通过使用方向键
来浏览列表,并使用空格
来勾选激活区域设置。这里建议勾选en_US.UTF-8
、zh_CN. UTF-8 URF-8
等:
之后,回车:
选择默认系统语言,还是推荐用英文:
之后,再回车。系统会自动开始配置:
很多文章,会直接让你在这里直接设置为
zh_CN.UTF-8
,我个人不建议这样设置。灵活性有点低,个人建议设置到用户的环境变量(见下文)。
设置中文环境
现在,我们就可以设置中文环境了。也很简单,根据你当前的 Shell,设置环境变量,查看当前 Shell:
echo $SHELL
可以看到,我的 Shell 是zsh
,你们的可能是/bin/bash
,如果是和我一样,那么环境变量就是: ~/.zshrc
。如果是/bin/bash
,那么环境变量就是:~/.bashrc
。
# 编辑环境变量
vim ~/.zshrc
之后,在文末追加:
# LANG
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
export LC_LANG=zh_CN.UTF-8
source ~/.zshrc
如果你不会
vim
命令操作,可以查看文章教程:终端文本编辑神器–Vim 命令详解。如何配置 Vim 以及 Vim 插件?
现在,就可以查看效果了。
最终效果
现在,我们的 Java 程序 ,写入文件名时候,就可以写中文了:
但是,需要注意:
- 已经运行的 Java 程序,需要重新运行。
- 一些虚拟终端,如:
screen
;需要关闭后重新打开。
如果还是没有生效,可以重启 Linux。