【问题标题】:embedded script displaying gibberish depending on encodying type (utf-8)根据编码类型(utf-8)显示乱码的嵌入式脚本
【发布时间】:2009-02-01 07:24:04
【问题描述】:

我有一个小部件,人们可以将其放入他们的网站。

小部件是通过 php 脚本生成的,该脚本使用以下命令回显填充的字符串:document.write('$widget_output')。

托管站点使用 javascript 标签调用小部件:

<script type="text/javascript" src="http://www.link.com/page.php?param=1"></script>

问题是我的小部件是 utf-8,有时它与托管它的网站不同,导致小部件显示乱码。

有没有人可以修复它以使其在任何情况下都能正常工作?

谢谢!

【问题讨论】:

  • 嘿...我看不到你的 javascript 标签。
  • 很抱歉。固定。
  • 查看脚本代码的 sn-p 可能会有所帮助,即编写乱码的部分。确保文件本身在磁盘上保存为 UTF-8。

标签: php encoding utf-8 widget


【解决方案1】:

添加内容编码 http 标头(在我的 iPhone 上快速编写)

让我进一步解释一下(写在我的笔记本电脑上;-)。浏览器向服务器请求不同的资源。每个浏览器内部都使用 Unicode 来表示要显示的数据。来自 Web 服务器的每个资源(html 页面、javascript 文件、css 文件等)都可以选择在 http 标头中附加编码信息。如果它具有内容编码标头,则浏览器使用响应标头中的编码将资源转换为内部 unicode 表示。如果没有 content-encoding 标头,浏览器会假定文件编码与请求资源的页面相同。

结论:如果您有一个从 Web 服务器提供并用于具有不同编码的页面的脚本,请确保向该脚本添加内容编码 http 标头。

【讨论】:

  • 每个页面都有一个http头,问题是有些页面不是utf-8编码的,而有些是。小部件始终采用 utf-8 编码。
  • 这无关紧要,只要返回的脚本带有适当的内容编码标头
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-10
  • 2019-01-10
  • 2015-02-26
  • 2014-09-15
  • 1970-01-01
相关资源
最近更新 更多