cjk编码转换

目录:

1. 问题描述

由前面编码章节,我们知道了有很多种编码方式,比如GBK,UTF-8等等。
从乱码章节,我们知道如果客户端编码方式与服务器端编码方式不同,就会出现乱码。
要解决乱码问题,要么修改客户端编码,要么修改服务器编码,但是用户集成至自己的系统后,客户页面编码一般不能修改,即使修改了,下次如果需要变动还要修改。

2. 解决方案

如果客户端-报表服务器之间的交互都是用FR内置的cjk编码,就不需要考虑页面编码和服务器编码的问题了。
2.1 原理
cjk编码转换jS代码如下:
function cjkEncode(text) { if (text == null) { return ""; } var newText = ""; for (var i = 0; i < text.length; i++) { var code = text.charCodeAt (i); if (code >= 128 || code == 91 || code == 93) {//91 is "[", 93 is "]". newText += "[" + code.toString(16) + "]"; } else { newText += text.charAt(i); } } return newText; }
cjkEncode方法在FineReport的JS库中已经预先提供了,用户只要加载了FR的JS库,就可以使用FR.cjkEncode对中日韩文字符进行encode.
2.2 示例
客户端-->报表服务器:参见web传递中文参数

报表服务器-->客户端:参见超级链接到网页传递的中文乱码

附件列表


主题:
标签: 已验证

文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201