gpt4 book ai didi

php - 字符集编码与 javascript 小部件到 php

转载 作者:行者123 更新时间:2023-11-29 22:22:07 30 4
gpt4 key购买 nike

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

<script src="http://api.mydomain.com/widget/widget.js?api_key=123&firstname=Veronica&lastname=Gällman" type="text/javascript"></script>

小部件读取提交的字符串,然后创建弹出窗口/iframe 并重定向到 http://api.mydomain.com/widget/index.php?firstname=Veronica&lastname =盖尔曼

当包含 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-8charset=iso-8859-1 的页面。

我给他的建议是:

  1. 强制集成器在查询字符串中发送&charset=iso-8859-1,如果不是utf-8,然后在index.php中将ISO转换为UTF-8

  2. 使用库检测字符编码。如果检测为ISO,则在index.php中转成UTF-8

这些听起来合理吗? 2号可能吗?或者有更好的解决方案吗?

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

最佳答案

您可以使用 mb_detect_encoding 检测编码函数并用 mb_convert_encoding 转换它或 iconv .

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

关于php - 字符集编码与 javascript 小部件到 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11802109/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com