利用javascript将unicode码转成ascii码
来源:互联网 发布:数控铣床编程图案1.2.2 编辑:程序博客网 时间:2024/06/05 13:54
在进行的项目,由于可能会被国外华人访问,所以讲所有的编码统一设置成了UTF-8格式,但是出现个了问题:当我前端在javascript函数里通过struts2标签从struts2里面读取中文数据进行一些处理然后输出时,由于字符编码格式都是UTF-8,所以悲剧的事情发生了,所有的中文字符串都直接以unicode显示了出来,如图:
经过排查,原因也找到了,是JS在new新的数组时,将UTF-8的文字编码直接当成字符串了(此处经尝试,如果去除双引号,JS会报错)如图:
最后只能写了个JS函数,把这个此unicode字符串传入,经过处理返回中文,现将JS代码贴上
function U2A(source) { //Unicode -> ASCII转换var code = source.match(/&#(\d+);/g);if (code == null) {return source;}var result = "";for (var i=0; i<code.length; i++) {result += String.fromCharCode(code[i].replace(/[&#;]/g, ''));}return result;}
此代码原版为网上查找,但存在当传入的值非unicode字符串,则得不到返回值的问题,经过修改,如今代码当传入非unicode字符串时,也能返回先前字符串,但是当传入的值为unicode和非unicode混合时,则会出问题。
由于本人JS技术有限,希望有缘看到此贴之高人,能给出一个更好的解决方案或者能给我个完美的Unicode转Ascii的JS函数,也帮助其他看到此贴的人
另附上Ascii转Unicode的JS代码,希望可以帮助到需要的人
function A2U(source) { //ASCII 转换 Unicode result = ''; for (var i=0; i<source.length; i++) { result += '&#' + source.charCodeAt(i) + ';'; } return result; }
解决方案已经找到:
1.使用EL表达式 ${}
2.<s:property value="" escape="false"/> 设置escape属性为false,即解析html格式
- 利用javascript将unicode码转成ascii码
- 将字符串转成ASCII码
- 利用JAVA将Unicode转换成Ascii
- javascript ASCII码,Unicode码相互转换
- JAVA将UNICODE码转成中文遇到的问题
- Java利用ascii码表将汉字转成拼音
- ASCII码 和 Unicode
- Unicode 和ASCII码
- AScII码反转成中文
- 把文字转成ASCII码
- golang 将EBCDIC转成ASCII
- ascii码和Unicode码
- ASCII码转化为UNICODE
- ASCII码,Unicode,UTF-8
- 将unicode编码转成中文
- python将字符串转成16进制的ASCii码的值
- python将字符串转成16进制的ASCii码的值
- python将字符串转成16进制的ASCii码的值
- 二、制作内核镜像
- ActionBarSherlock混淆问题
- RUI——Android桌面项目总结
- 大话PHP之性能
- 三、制作文件系统
- 利用javascript将unicode码转成ascii码
- android 使用vcard示例
- JavaScript宝座:七大框架论剑
- 当传递具有已删除行的 DataRow 集合时,Update 要求有效的 DeleteCommand。
- Annotation实现原理
- 四、烧写u-boot.bin
- 从实例看struts2运行原理
- 手把手教你在centos下编译安装配置高性能web服务器环境nginx+php(fast-cgi)+mysql等/适合小内存vps使用
- usaco Sorting a Three-Valued Sequence