如何确保不同组件间的编码兼容性?
中文字符编码问题通常由以下原因引发:
characterEncoding
<metacharset="UTF-8">
场景 | 操作步骤 | 验证方法 |
---|---|---|
代码文件编码 | 1.使用IDE设置保存为UTF-8无BOM格式 2.检查 plaintext 复制 .gitattributes | 通过 plaintext 复制 file-I |
数据库连接 | 在JDBCURL添加 plaintext 复制 ?useUnicode=true&characterEncoding=UTF-8 | 查询 plaintext 复制 SHOWVARIABLESLIKE'char%' |
Web服务器配置 | Tomcat plaintext 复制 server.xml plaintext 复制 URIEncoding="UTF-8" | 访问 plaintext 复制 /encoding |
前端页面 | 在 plaintext 复制 <head> plaintext 复制 <metacharset="UTF-8"> | 查看浏览器开发者工具Network响应头 |
文件操作 | 使用 plaintext 复制 InputStreamReader | 读取文件时捕获 plaintext 复制 MalformedInputException |
.editorconfig
Filter
response.setCharacterEncoding("UTF-8")
ResourceBundle
.properties
Control
注:若问题仍存在,可通过
System.out.println(newString("测试".getBytes("ISO-8859-1"),"UTF-8"))