web项目-中日韩文通用UTF-8处理流程

本文详细记录了一个处理韩国项目的UTF-8编码流程,包括页面编码、过滤器配置、业务逻辑层处理及数据库配置。通过设置页面charset、过滤器确保请求参数编码一致,调整数据库连接URL以支持UTF-8,解决韩文乱码问题。

文档说明:

接了个韩国项目,预计整体使用UTF-8编码,从页面到数据库,应该能全部处理。(对应的韩文编码是euc-kr,应该相当于我们的gbk)

 

使用原来处理日文的时候的经验,发现很多郁闷的问题,中文日文ok,韩文就是乱码。经过2天的重新梳理,问题解决,记录下流程,免得下次再痛苦一次。

 

1. 页面使用utf-8编码,显示韩文没用问题
技术点:

method="post" 这个是重点,如果不能正常传递,看是不是 这个原因,记得不写应该是post,但测试后发现这是个很坑爹的问题。

 

2. 配置参数传递之间编码一致
技术点:(ssh)
a. web.xml 最前面配置

b. 如果没用使用ssh,那么配置

 

对应的java文件 Encoding.java

 

3. 业务逻辑层
   直接打印出来的是???这样的编码,想用iso-8858-1转成字节,再用utf-8转成字符打印韩文失败
   或许编码理解错误,回头再确认。
   http://flysnow.iteye.com/blog/702798  这篇文章深入分析了struts2获得编码的过程
   http://www.regexlab.com/zh/encoding.htm 这篇很经典,说清了来龙去脉

 

 

4. db层,使用的mysql数据库
技术点:
   a. 完全使用utf-8的结构,库,表,字段utf8_general_ci。 没什么好纠结的。如果有不一致,有
      可能正常,有可能不正常,反正出现的问题能让n个小时候后觉得可能自己不太正常

   b. ssh 数据库配置文件,或许做hibernate,或许在spring的applicationContext中,反正你在哪里配置了
       数据库连接,那么加上
       jdbc:mysql://localhost:3306/xxxx?useUnicode=true&characterEncoding=UTF-8"

   c. 如果使用了jndi方式,在tomcat或其他web服务器中配置了数据源,同样记得在url后面加上字符集配置

 

5. 本文编辑器

看到的是方块的韩文

EditPlus
1. 单击Tools => Preferences,弹出Preferences窗口。
2. 在General => Fonts下设置Font为Gulim,单击OK。

UltraEdit
1. 查看 -> 设置显示字体 => 设置字体,弹出字体窗口。
2. 在字体对话框中设置字体为Gulim,脚本为韩文。
3. 单击文件 => 转换 => UNICODE/UTF-8到UTF-8(Unicode编辑),设置编码为Unicode。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值