通过AJAX请求发送®字符时遇到问题

Ani*_*mde 6 javascript asp.net ajax yui character-encoding

我有简单的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>
Run Code Online (Sandbox Code Playgroud)

以下是初始化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
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

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

现在我的问题是,当在文本框中输入"Registered"®字符(0174)并发送到服务器时,我得到#65533,这不是用户在文本框中输入的内容.另外®此字符不是Unicode字符,那么为什么会出现这种情况.

cod*_*ing 1

从你设置的标签推断,后端是用asp.net编程的?检查您正在使用的编码(参见例如此处)。您的问题听起来很像与您交付给客户端的内容不同(请参阅服务器设置)。