我在ASP经典页面上动态加载部分内容时遇到问题。我使用AJAX动态加载页面,具体取决于下拉选择选项。生成包含一些标签,用于在下拉列表中包含下拉列表和选项文本。标签是以UTF-8编码的常量,包含一些西欧重音字符,选项文本从数据库加载,也包含重音字符,但用ANSI编码。标签设置为utf-8但它只影响页面的第一次加载,因为它们全部放在页面上。选择其他选项后,AJAX填充元素并加载标签,但选项文本搞砸了,所以我猜AJAX不会加载文本秒等等。解决方法是更改常量和设置中的标签文本 <%Response.Charset =“windows-1252”%>在第一次装载的页面上。 现在,我希望找到更好的方法,最好在AJAX响应中将它全部设置为UTF-8或windows-1225,或者设置页面上的每个元素以使用ajax进行不同的编码。我甚至尝试过ASP经典的替换功能,它可以工作,但它还需要每个新的重音字母替换。任何帮助赞赏! :)
答案 0 :(得分: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。
阅读此question的答案以获取更深入的信息