java的编码困扰

   最近写运价的系统,写得好累啊,不过差不多接近完成了.但编码的问题一直都是似懂非懂的.

   只好一点点去搜索java和html的编码问题.好烦,到最后,问题是解决了,但不是最完整的处理方法.希望以后可以处理好.

   在一个struts2的返回提示的字符串到页面中.问题就是出在这字符串中有网页的换行字符<br/>.

   java的tomcat在后台处理的时候会把所有的字符进行一次编码,编码成Unicode格式.并且在页面显示时,还再次变换成html的实体编码和实体名称,如"上传"-->&#19978;&#20256;,"<"-->"&lt",">"-->"&gt".等等.在页面上显示是没有问题.但我的换行却一点用处都没了.

   由于这是在页面中已经显示的内容,只能通过javascript的脚本在客户端完成中文的编码.

  

   开始的思路是直接把所有的html实体编码和实体名称通过转换成中文完成.

   然而在搜索中发现几个问题很不好实现:

   1.在js中只UTF-8编码函数,如encodeURI()等.

   2.编码用了实体编码和实体名称两种,对实体名称变换成编码时需要一对应的数组.

   3.用正则表达式处理时编码时还不是很熟练.

 

   根据系统的需要,只做了一个换行的要求,即把左右尖括号的编码替换成实体.如:"&lt"换成"<";

   经过查询,得到了大量的信息,知道了一些UTF-8编码的内在方法.尤其是servlet都要转换成unicode编码.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值