jsf原始页面中文与动态嵌入的页面代码的中文编码问题

关于中文
以前不太注意不知道其他的jsf产生的页面代码中文是怎样表示的,现在发现同一页面会有两种表示形式,一种形如适,另一种就是中文显示的中文。
页面嵌入的中文显示字符一般是jsf后台产生的,形如适则是页面原始的中文页面代码被jsf(或者seam或者容器)转换成形如适
页面原始的中文代码,在页面首次编译的时候中文被编译成形如适
页面嵌入的中文显示字符是每次客户端请求页面的时候由jsf生成的
为何会有两种中文编码形式出现在同一页面呢?我认为原因如下:
1、
jsf认为未编译的原始jsf只能用一种字符编码,那就是ISO-8859-1,如果不是ISO-8859-1,编辑器IDE就必须提前转换成ISO-8859-1字符格式,例如把中文转换为形如适,否则都不予保存;在客户端请求页面的时候,这些源码将不在作任何转换直接送到客户端浏览器。
原因2、
客户端向jsf请求的时候,同时告诉JSF自己的当前的编码等等信息,JSF据此将需要嵌入的页面代码转换成客户端的当前的页面代码,这个时候由于已经知道了本次浏览器的接受编码了,就不用形如适这样的编码了,而是直接用指定的编码转换,这就是我们在页面看到的中文字符显示了。
这里引出了另外一个问题就是。形如适表示的utf-8的页面代码好,还是用utf-8显示的中文页面代码好呢?
我认为形如适的页面代码更通用,没有障碍,所有的浏览器都能正确解释,不像以utf-8编码的中文页面代码,如果浏览器用错了编码集,就是乱码。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值