gpt4 book ai didi

javascript - 我的 javascript 变量中的特殊字符一直显示为 �,我该如何防止这种情况发生?

转载 作者:行者123 更新时间:2023-11-30 10:52:35 25 4
gpt4 key购买 nike

我有一个 javascript 脚本,它调用一个 php 页面来提供一个带有建议的 ajax 表单。 php 页面返回的建议很好,但出于某种原因,当我将 javascript 对象请求的响应文本设置为我的 HTML 页面中的一个元素时,所有特殊字符(即 á 或 ã)都显示为这个问号.是否有一个函数 II 必须在请求的响应文本上运行以确保这些文本被正确读取?

谢谢。

最佳答案

如果您不以 UTF-8 格式提供 HTML 页面,浏览器将猜测一种编码,通常是单字节 Windows 代码页,具体取决于用户的区域设置。

但这不会发生在 AJAX 上。对于 XMLHttpRequest,除非您在 Content-Type: ... 中明确说明编码; charset= 参数,浏览器会将其视为UTF-8。这意味着如果您实际提供 Windows 代码页 1252(西欧)内容,您将获得无效的 UTF-8 序列和随之而来的问号。

您不想使用非 UTF-8 编码!确保在整个应用程序中使用 UTF-8。为所有页面提供 Content-Type: text/html; charset=utf-8,将数据存储在UTF-8表中,使用mysql_set_charset()选择UTF-8等。

无论如何,请考虑使用 JSON 传递 AJAX 响应。 json_encode() 函数将创建一个 JSON 字符串,该字符串对非 ASCII 字符使用 JavaScript 转义序列,从而避免任何编码不匹配的问题。此外,这比返回原始 HTML 更容易扩展以添加功能。

关于javascript - 我的 javascript 变量中的特殊字符一直显示为 �,我该如何防止这种情况发生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4434412/

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