如何解决 linux 的乱码问题

如何解决 linux 的乱码问题,第1张

出现这种情况的原因为两种 *** 作系统中文压缩方式不同,在windows环境中中文压缩一般为gbk,而在linux环境中为utf8,这就导致了在windows下能正常显示

txt文件在linux环境下打开呈现了乱码状态。

解决方法:在linux用iconv命令,输入命令如下

iconv

-f

gbk

-t

utf8

file.pdf

>

file.pdf.utf8

此时会重生一file.utf8文件,打开之后就能正常显示中文

linux系统下修改语言配置方法有:

法一:修改/etc/profile文件,增加export

LANG=zh_CN.GB18030

法二:修改/etc/sysconfig/i18n文件,将

#LANG="en_US.UTF-8"

#SUPPORTED="en_US.UTF-8:en_US:en"

#SYSFONT="latarcyrheb-sun16"

改为

LANG="zh_CN.UTF-8"

SUPPORTED="zh_CN:zh:en_US.UTF-8:en_US:en:zh_CN.GB18030"

SYSFONT="latarcyrheb-sun16"

/etc/profile:

为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.

/etc/sysconfig/i18n

这里存放的是系统的区域语言设置

LANG

表明你当前系统的语言环境变量设置

,这里是

zh_CN.GB18030

SUPPORTED

表明系统预置了那些语言支持

,不在项目中的语言不能正常显示

SYSFONT

定义控制台终端字体,你文本登录的时候显示的字体是

latarcyrheb-sun16

I18N

internationalization

的缩写形式,意即在

i

n

之间有

18

个字母,本意是指软件的“国际化”.I18N支持多种语言,不过同一时间只能是英文和一种选定的语言,例如英文+中文、英文+德文、英文+韩文等等;

如果在SCRT上 *** 作时中文乱码,可依次点击options--session

options--appearance,选择character

encoding为UTF-8

     很多朋友都想知道linux显示中文乱码应该怎么办?下面就一起来看看吧!

      linux显示中文乱码

      一、登陆linux系统打开 *** 作终端之后,输入echo$LANG可以查看当前使用的系统语言

      在终端输入locale命令查看是否有中文语言包,如有zhcn表示已经安装了中文语言

      如果没有中文语言可以通过网上下载安装中文语言包yumgroupinstallchinese-support。

      二、临时更换语言

      如果只是临时更换linux系统的语言环境,可以通过输入设置LANG=语言名称,如中文是

      Zn_CN.UTF-8

      三、打开设置把终端的编码选择中文,或者UTF8即可

      本文章基于ThinkpadE15品牌、centos7系统撰写的。

首先我是用idea开发的,我的需求是在将java项目部署到服务器上,去调取数据,在用?id=北京 这种传参时,linux服务器出现乱码,最后试了多种方法,仅供参考

页面pageEncoding = "utf-8" charset="utf-8"

(1)server.xml 配置端口号出配置 URIEncoding = "UTF-8" 这是针对浏览器的编码

还有个参数 useBodyEncodingForURI = "true" 暂时没搞清是什么

(2)web.xml 中的字符集过滤器 是针对springMVC的字符集

(3) url 中 ?拼接的参数 不会经过字符集拦截器 重定向中可以使用ModelAndView 的对象,

ModelAndView mv = new ModelAndView("redirect:/index.do")

mv.addObject("id",id)

(4)自定义拦截器

①写一个实现了 HandlerInterceptorAdpter 的拦截器 并且手动实现 preHandle() return true

② springMVC配置文件中配置

<mvc:interceptors>

<bean id="idInterceptor" class="app.plant.interceptor.IdInterceptor"></bean>

</mvc:interceptors>

③指定字符集

String id = request.getParameter("id")

if(id != null){

id = new String(id.getBytes("iso-8859-1"),"utf-8")

request.setAttribute("id",id)

}

return true


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8157022.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存