使用javascript小部件到php的字符集编码

使用javascript小部件到php的字符集编码,php,javascript,utf-8,character-encoding,Php,Javascript,Utf 8,Character Encoding,我正在创建一个Javascript小部件,它是一个按钮,用于在弹出窗口中将查询字符串重定向到php页面。集成小部件的页面首先使用以下方法向Javascript小部件发送信息: <script src="http://api.mydomain.com/widget/widget.js?api_key=123&firstname=Veronica&lastname=Gällman" type="text/javascript"></script> 但是我发现

我正在创建一个Javascript小部件,它是一个按钮,用于在弹出窗口中将查询字符串重定向到php页面。集成小部件的页面首先使用以下方法向Javascript小部件发送信息:

<script src="http://api.mydomain.com/widget/widget.js?api_key=123&firstname=Veronica&lastname=Gällman" type="text/javascript"></script>
但是我发现这种方法对于想要使用小部件的人来说是有问题的,而且一点也不优雅

最后,我的问题是:有没有更好的方法来解决这个问题

脚本应支持页面上有
charset=utf-8
charset=iso-8859-1

我给他的建议是:

  • 强制integrator在查询字符串中发送
    &charset=iso-8859-1
    (如果不是utf-8),然后在index.php中将iso转换为utf-8

  • 使用库来检测字符编码。如果它被检测为ISO,请在index.php中将其转换为UTF-8

  • 这些听起来合理吗?2号可能吗?还是有更好的解决办法


    我是否被迫告诉我的小部件用户在他们的页面上进行
    urlencode

    您可以使用函数检测编码,并使用或进行转换


    顺便问一下,你不能通过强迫人们使用UTF-8来使世界变得更美好吗?:)

    正如多纳塔斯已经提到的,最好是强迫人们——尤其是在网络上要使用UTF8实现所有功能

    但如果您需要将UTF8字符串转换为ISO-8859-1,请尝试


    PS:记住,并非所有UTF8字符都可以用ISO-8859-1符号表示

    问题不是转换字符串。好的,很抱歉。您可能希望使用为所用网站指定的字符集。可以通过
    document.characterSet
    来实现。请阅读了解更多信息。对IE使用
    document.charset
    。问题仍然存在。集成网站需要做什么?有没有更好的解决方案?对不起,我不能提供解决方案。从我开始只使用UTF-8到现在已经8到9年了,在我的国家和邻国,没有人使用其他编码(好吧,除了ASCII码,但事实并非如此)。
    <script type="text/javascript">
        var search = 'api_key='+encodeURIComponent('1234')+
            '&firstname='+encodeURIComponent('Veronica')+
            '&lastname='+encodeURIComponent('Gällman')+
        document.write( search );
    </script>