当前位置:  开发笔记 > 编程语言 > 正文

Javascript编码问题

如何解决《Javascript编码问题》经验,为你挑选了2个好方法。

我们有一个外部.js文件,我们希望将其包含在许多不同的页面中.该文件包含用于在客户端对表进行排序的代码,并使用脚本中的▲和▼字符来指示哪个列已排序以及在哪个方向排序.

该脚本最初是为ASP.Net页面编写的,用于将一些排序工作从服务器卸载到客户端(防止在启用javascript时对回发进行排序).在这种情况下,编码几乎总是UTF-8,并且在该上下文中工作得很好.

但是,我们还有一些较旧的经典ASP页面,我们希望包含该脚本.对于这些页面,编码更像是一个大杂烩,取决于谁在何时编写页面以及使用了什么工具(记事本,vs6,vs2005,其他html帮助程序).通常在页面中没有指定编码,所以由浏览器来选择,但实际上并没有我能看到的硬规则.

问题是如果使用不同的(非UTF8)编码,则▼和▲字符将无法正确显示.我尝试使用html实体,但无法让它们从javascript中运行良好.

如何使脚本针对各种可能的编码进行调整,以便"特殊"字符始终正确显示?是否有我可以使用的不同角色,或者我错过了使用html实现html实体的技巧?

以下是使用字符的代码段:

// get sort direction, arrow
var dir = 1;
if (self.innerHTML.indexOf(" ?") > -1)           
     dir = -1;
var arrow = (dir == 1)?" ?":" ?"; 

// SORT   -- function that actually sorts- not relevant to the question
if  (!SimpleTableSort(t.id, self.cellIndex, dir, sortType)) return;

//remove all arrows
for (var c = 0,cl=t.rows[0].cells.length;c

对于好奇,我最终使用的代码点与接受的答案是\ u25B4和\ u25BC.



1> TheHippo..:

JavaScript文件的编码取决于嵌入它的HTML页面的编码.如果您有UTF-8 JavaScript文件和ISO-8859-1 HTML页面,则JavaScript被解释为ISO-8859-1.

如果您从外部文件加载JavaScript,则可以指定JavaScript的编码:


无论如何,最好的选择是以一种编码保存与webproject相关的所有文件,建议使用UTF-8.



2> andynormancx..:

您希望Javascript Unicode转义即"\ uxxxx",其中"xxxx"是该字符的Unicode代码点.我相信"\ u25B2"和"\ u25BC"是你需要的两个.

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有