javascript和html字符转义

时间:2012-11-21 15:50:26

标签: javascript html encoding escaping

我有这个问题: 我有一个保存在数据库字段中的javascript,它将在网页中用作href目标,例如。

insert into table_with_links (id, url) 
       values (1, 'javascript:var url="blö blö";.....');

// run scripts that use the database values to generate web pages

// part of the generated html code:
<a href="javascript:var url='blabla';..... </a>

到目前为止没有问题。我在javascript中有德语字母(Umlaute - 例如ö)。我不应该将德语字母保存在数据库中,所以我逃避它们:

insert into table_with_links (id, url) 
       values (1, 'javascript:var url="bl%F6 bl%F6";.....');

现在出现了问题 - 我不应该在数据库中存储标志,因为生成网页的脚本无法正确处理。我想你可以想象这些脚本是如何成为第三方脚本而无法更改的。

所以,我的问题是 - 我还可以逃避%号吗?

2 个答案:

答案 0 :(得分:2)

你试过这个吗? :

var str= "remove the %";
var str_n = str.replace("%",""); 

以下是基础知识http://www.w3schools.com/jsref/jsref_replace.asp

然后你可以使用一组字符来替换,看看javascript replace globally with array

答案 1 :(得分:1)

我建议使用oracle内置的国际化,Oracle能够处理特殊的德语字符:

http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/u_i18n.htm

如果你想自己处理它,我建议你做一个字符串替换你知道的一些序列:

var str = str.replace(/ö/g,"[german-umlaute]");

(/ö/ g末尾的g用于替换字符串中的所有匹配项)