我在 ASP 经典页面上动态加载部分内容时遇到问题。我使用 AJAX 动态加载页面,具体取决于下拉选择的选项。Generated 包含一些用于在下拉列表中包含下拉列表和选项文本的标签。标签是以 UTF-8 编码的常量,包含一些西欧重音字符,选项文本从数据库加载,也包含重音字符,但以 ANSI 编码。标签设置为 utf-8 但它只影响页面的第一次加载,因为它们全部放在页面上。选择其他选项后,AJAX 会填充元素,并且可以很好地加载标签,但选项文本会乱七八糟,所以我猜 AJAX 不会在第二次等时间加载文本编码。解决方法是更改常量中的标签文本并设置 <% Response.Charset = "windows-1252" %> 在第一次加载的页面上。现在,我想为此找到更好的方法,最好在 AJAX 响应中将其全部设置为 UTF-8 或 windows-1225,或者将页面上的每个元素设置为使用 ajax 进行不同的编码。我什至尝试了 ASP 经典中的替换功能,它可以工作,但是对于每个新的重音字母,它再次需要其他替换。任何帮助表示赞赏!:)
问问题
2910 次
1 回答
3
我认为解决编码问题的最好方法是切换到 utf-8。它不仅消除了在您自己的语言中处理特殊字符的麻烦,而且几乎(据我了解 utf-8)所有语言!
首先,在 HTML 头中包含以下元标记。
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
您还需要在所涉及的所有 asp 文件的顶部设置 UTF-8。
response.codepage = 65001
response.charset = "utf-8"
请注意,尽管从您的 asp 页面(例如通过表单)发布的字符将被解释为 utf-8。在脚本引擎内部,字符串存储为 unicode。确保在数据库中始终将数据保存为 unicode。
阅读此问题的答案以获取更深入的信息
于 2012-03-15T09:44:00.203 回答