私はこの問題を抱えています:データベースフィールドに保存された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ページを生成するスクリプトがそれを適切に処理できないため、%記号をデータベースに保存するべきではありません。これらのスクリプトがサードパーティのスクリプトであり、変更できないことは想像できると思います。
だから、私の質問は- %記号もエスケープできますか?