javascript - 通过 AJAX 请求发送 ® 字符时出现问题

标签 javascript asp.net ajax character-encoding yui

我有一个简单的 asp.net web 应用程序,它使用 YUI 进行 Ajax 请求。应用程序从文本框中读取文本并向服务器发送 AJAX 请求。以下是代码

<body>
    <form id="form1" runat="server">
    <div>
        <input id="txt" name="txt" type="text" value="[Enter some value]" />
        <input id="btn" type="button" value="button" />
    </div>
    <div id="out"></div>
    </form>
</body>

以下是初始化Ajax请求的客户端脚本

YAHOO.util.Event.onDOMReady(function() {
    YAHOO.util.Event.addListener("btn", "click", function(evt) {
        var url = "Server.aspx?type=test&txt=" + document.getElementById("txt").value;
        var btn = document.getElementById("out");
        var cObj = YAHOO.util.Connect.asyncRequest('GET', url, {
            success: function(o) {
                btn.innerHTML += "<div>" + o.responseText + " = " + o.responseText.charCodeAt(0) + "</div>";
            },
            failure: function(o) {
                confirm("Its failure");
            },
            cache: false
        });
    });
});

我在应用程序中所做的是接受用户输入的字符,将其保存到数据库并将其写入 Ajax 响应。系统不支持Unicode(数据库)。

现在我的问题是,当在文本框中输入“已注册”® 字符 (0174) 并将其发送到服务器时,我得到的是 #65533,这不是用户在文本框中输入的内容。另外 ® 这个字符不是 Unicode 字符那么为什么会出现这种行为。

最佳答案

忘掉配置问题,您的问题可能与您的编辑器及其用于保存文件的文件编码有关。设置字符编码是不够的,有时甚至无关紧要,你必须将文件本身保存在支持字符集的编码中,例如:没有 BOM 的 utf-8,得到一个你可以看到这个的编辑器信息。当然,在您的 Web 服务器、数据库服务器(假设您使用的是一个)和客户端之间可能会发生很多事情。检查 whe web 服务器、数据库和编辑器用于保存文件的文件编码中的默认字符。

关于javascript - 通过 AJAX 请求发送 ® 字符时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8387180/

相关文章:

javascript - 设置 Google Analytics 来跟踪多个片段?

asp.net - 无法编辑以在 ListView 上工作

php - Firefox 中的 JQuery SYNC Ajax 调用错误

javascript - 无法让 JQuery AJAX 成功事件显示感谢页面

javascript - 如何获取用户在请求权限对话框中选择的媒体设备 ID?

javascript - 获取客户的日期格式名称

javascript - 如何从 ASP.NET Web 表单中的超链接显示 ASP.NET MVC View

javascript - (CSRF token 丢失或不正确。)在 Django 中使用 AJAX

javascript - JQuery 验证插件不适用于简单按钮

c# - 即使项目在 Razor html 中成功构建,Visual Studio 也会显示错误