ポップアップでクエリ文字列をphpページにリダイレクトするボタンであるJavascriptウィジェットを作成しています。ウィジェットを統合するページは、最初に次のメソッドを使用して Javascript ウィジェットに情報を送信します。
<script src="http://api.mydomain.com/widget/widget.js?api_key=123&firstname=Veronica&lastname=Gällman" type="text/javascript"></script>
ウィジェットは送信された文字列を読み取り、popup/iframe を作成してhttp://api.mydomain.com/widget/index.php?firstname=Veronica&lastname =Gällmanにリダイレクトします。
この問題は、JS ウィジェットを含むページに がない場合に発生しますcharset=utf-8
。特殊文字は疑問符またはボックスになります。
私のプログラマーは、次のようにしてほしいと思っています。
<script type="text/javascript">
var search = 'api_key='+encodeURIComponent('1234')+
'&firstname='+encodeURIComponent('Veronica')+
'&lastname='+encodeURIComponent('Gällman')+
document.write( search );
</script>
しかし、このアプローチは、ウィジェットを使用したい人にとっては問題があり、まったくエレガントではありません。
最後に、私の質問: これを解決するためのより良い方法はありますか?
スクリプトは、 と があるページをサポートする必要がcharset=utf-8
ありcharset=iso-8859-1
ます。
彼への私の提案は次のとおりです。
&charset=iso-8859-1
utf-8 でない場合はインテグレーターにクエリ文字列を強制的に送信させ、index.php で ISO を UTF-8 に変換します。ライブラリを使用して文字エンコーディングを検出します。ISOとして検出された場合は、index.phpでUTF-8に変換します
これらのどれかが合理的に聞こえますか? 2番は可能ですか?または、これに対するより良い解決策はありますか?
ウィジェットのユーザーにurlencode
、自分のページに表示するよう強制する必要はありますか?