程序员进进
酒店、旅游、展览、会议行业。从业超10年JAVA程序员,会点前端,了解点运营,带过几个项目。

JAVA环境下处理中文乱码问题一直是很多人困扰的问题,像URL传参乱码,写进数据库乱码,服务写中文文字图片乱码处理及导出PDF乱码。

1:安装中文支持

yum groupinstall "fonts"

2:设置系统编码


3:上传字体simsun.ttc至服务器JDK目录(正常该文件在本地的文件系统中可以找到)

4:JAVA导出PDF部分代码

ITextRenderer renderer = new ITextRenderer();ITextFontResolver fontResolver = renderer.getFontResolver(); String pdfFontUrl="c:/Windows/Fonts/simsun.ttc";  fontResolver.addFont(pdfFontUrl, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);  renderer.setDocumentFromString(htmls);  

 

 5:tomcat get方式传参乱码,server.xml文件如下配置

<Connector executor="tomcatThreadPool" port="8080"  maxHttpHeaderSize="8192" useBodyEncodingForURI="true" disableUploadTimeout="true" URIEncoding="UTF-8" />

 

 6:数据库乱码

JDBC链接

1 jdbc_url=jdbc:mysql://localhost:3306/xxxx?useUnicode=true&amp;characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&&allowMultiQueries=true数据库设置编码。my.cnf中配置

 

7:前端显示乱码,主要是前端文件的编码设置。针对接收到的文字乱码主要通过后端程序转化。

后端接收:new String(str.getBytes(), encode))JSP设置:request.setCharacterEncoding("UTF-8");

8:web.xml文件中增加过滤器配置

<filter>    <description>字符集过滤器</description>    <filter-name>encodingFilter</filter-name>    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>    <init-param>      <description>字符集编码</description>      <param-name>encoding</param-name>      <param-value>UTF-8</param-value>    </init-param>  </filter>

 

 

以上为大部分常见的乱码问题解决方法,供参考。

posted on 2020-07-31 11:39  程序员进进  阅读(364)  评论(0)    收藏  举报