2 Star 1 Fork 0

enilu / book

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
java应用编码问题.md 2.24 KB
一键复制 编辑 原始数据 按行查看 历史
zhangtao 提交于 2020-12-08 18:51 . Add init

java应用编码问题

条件允许的情况下所有地方都用UTF8

  • eclipse : eclise.ini 最末尾增加一行:
-Dfile.encoding=UTF-8
  • jsp页面编码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
  • tomcat编码
    • 打开 tomcat安装目录下的 bin\setenv.bat ,该文件通常不存在,新建之, 添加如下内容
set JAVA_OPTS=-Dfile.encoding=UTF-8
  • 打开conf\server.xml, 在8080端口所属的Connector节点,添加URIEncoding,可解决大部分GET请求中文乱码的问题
URIEncoding="UTF-8"
  • maven源代码配置,pom.xml增加
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  • mysql 数据库编码
Server characterset:    utf8      // 服务器字节集
Db     characterset:    utf8      // 当前数据集字节集
Client characterset:    utf8      // 客户端字节集
Conn.  characterset:    utf8      // 当前连接的字节集
  • 修改my.ini的mysqld小节,设置服务器字符集,是最佳解决方式,改完重启
[mysqld]
character-set-server = utf8
  • 然而,对于现有系统,全局修改的风险比较大,所以,可以在客户端解决,即jdbcurl上做配置
jdbc:mysql://127.0.0.1/nutzdemo?useUnicode=true&characterEncoding=UTF-8
  • logback日志输出编码 appender ->encoder节点下增加carset节点,例:
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
  <encoder>
    <pattern>%d{yyyy-M-d HH:mm:ss} %p %logger{0} %msg%n</pattern>
    <charset>UTF8</charset>
  </encoder>
</appender>
  • idea工程乱码

打开File-Setting, 找到File Encodings这个选项,把encoding设置成你工程的编码即可,一般是UTF-8, 然后重新rebuild一下

  • idea控制台编码

    • 打开idea安装目录下的idea.vmoptions(或者idea64.vmoptions) 文件,在最后一行增加下面内容,重启idea
    -Dfile.encoding=UTF-8
    • 打开setting,找到 Build,Execution,Deployment > Compiler > Java Compiler, 设置 Additional command line parameters选项为-encoding utf-8 然后rebuild下,重新运行
  • idea tomcat编码

    • 打开Run/Debug Configuration,选择你的tomcat
    • 然后在 Server > VM options 设置为 -Dfile.encoding=UTF-8 ,重启tomcat
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/enilu/book.git
git@gitee.com:enilu/book.git
enilu
book
book
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891