Linux下的中文乱码问题

技术 · 2023-01-11

起因

最近在论坛里看到有人部署的小说网站,感觉界面还挺好看,联想到之前DP家的100G硬盘的VPS,本来部署的图床,可惜不怎么用,就想折腾弄成小说站,话说也不能浪费了之前下载的15G的小说是吧。

乱码问题

本身用的是Java写的,就一个jar包很简单,直接放到VPS上启动,但是访问的时候总是提示:malformed input or input contains unmappable characters,后面跟着一个路径,一眼看上去路径最后的图片名都是????.jpg,很明显是编码问题,怎么解决呢?因为大部分的VPS用的都是debian的系统,于是查了一下,说是要配置中文,于是通过dpkg-reconfigure locales命令重新配置,并且默认选用zh_CN.UTF-8,但是依然不起作用,看了一下bashrc的配置,发现原来为了登录的时候不提示错误,配置的export LAN=C,改为zh_CN.UTF-8依然不起作用,为此还重启了一次。后来看到可以通过配置java的启动环境变量来配置

java -Dfile.encoding="UTF-8" -Dsun.jnu.encoding="UTF-8" -jar xx.jar

启动的时候果然显示正确了,但是依然提示上面的错误,后来又在一个git的issue界面看到说直接配置为C.UTF-8就可以了,于是改为下面这样

export LAN=C.UTF-8
export LC_ALL=C.UTF-8
export LC_LANG=zh_CN.UTF-8

#重新加载bashrc
source ~/.bashrc

再启动就可以了,完全不用配置java的启动环境变量,Centos下可能需要配置/etc/sysconfig/i18n,流程基本上都差不多。

结束

最近在捣鼓统信的系统,基本上都是基于centos的,可是自己偏偏喜欢用debian,没办法,看来还要学习一下centos的部分配置了。

java linux
取消回复
  1. where to buy augmentin in singapore However, there are more suitable steroid options for women wanting to build muscle and burn fat, without compromising their sexual characteristics; such as

Theme Jasmine by Kent Liao