0

私はこの問題を抱えています:データベースフィールドに保存されたJavaScriptがあり、これはWebページで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にドイツ語の文字(ウムラウト-例:ö)があります。ドイツ語の文字をデータベースに保存するべきではないので、それらをエスケープします。

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

ここで問題が発生します。Webページを生成するスクリプトがそれを適切に処理できないため、記号をデータベースに保存するべきではありません。これらのスクリプトがサードパーティのスクリプトであり、変更できないことは想像できると思います。

だから、私の質問は- %記号もエスケープできますか?

4

2 に答える 2

2

これを試しましたか?:

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

ここに基本がありますhttp://www.w3schools.com/jsref/jsref_replace.asp

次に、charの配列を使用して置換できます。ここを参照してください。javascriptグローバルに配列に置換

于 2012-11-21T16:03:27.110 に答える
1

オラクルに組み込まれている国際化を使用することをお勧めします。オラクルは特別なドイツ語の文字を処理できます。

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

自分で処理したい場合は、知っているシーケンスに文字列置換を行うことをお勧めします。

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

(/ö/ gの最後のgは、文字列内のすべての出現箇所を置き換えるものです)

于 2012-11-21T16:06:19.970 に答える