喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 帮助

RSS 订阅当前论坛  

喜悦证交所已经关闭

上一主题 下一主题
     
标题: 请教ajax乱码的js解决方案  
 
sanders_yao
版主
Rank: 7Rank: 7Rank: 7
or2 =333


UID 30286
精华 0
积分 11786
帖子 4970
金钱 11783 喜悦币
威望 0
人脉 3
阅读权限 100
注册 2004-7-23
来自 北京 菜户营
状态 离线
请教ajax乱码的js解决方案

刚才测试的时候出现了一个问题 希望大家帮我解决一下
我建立了一个文件内容如下:
{
        "item"        : [
                {
                        "title"                : encodeURIComponent("往事如烟(我第一次“谈朋友”)"),
                        "link"                : "http://www.chinalabs.com/view/xueshu/135550.html",
                        "author"        : "TOM科技",
                        "pubDate"        : "2006-4-13 17:07:49"
                },
                {
                        "title"                : encodeURIComponent("往事如烟(我第一次“谈朋友”)"),
                        "link"                : "http://www.chinalabs.com/view/xueshu/135550.html",
                        "author"        : "TOM科技",
                        "pubDate"        : "2006-4-13 17:07:49"
                }
        ]
}

但是我在另一个测试页面请求的时候就会出现乱码,请先看下我的代码片断:

function loader(){
        var req = getXmlHTTPRequest();
        req.open("get", "http://localhost/test.txt", false);
        req.send();
        eval("var strReq = " + req.responseText);
        var strOutput = "";
        for(var i = 0;i < strReq["item"].length;i ++){
                strOutput += "<tr><td>" + strReq["item"]["title"] + "</td></tr>";
        }
        strOutput = "<table border=\"1\">" + decodeURIComponent(strOutput) + "</talbe>";
        document.getElementById("console").innerHTML = strOutput;
        alert(strOutput);
}

window.onload = function(){
        document.getElementById("test").onclick = loader;
}
</script>
<body>
<div id="test" style="background-color:#CCCCCC; width:100px; height:100px;"></div>
<div id="console" style="width:500px; border:solid #000000 1px;"></div>
</body>
</head>
有没有使用js解决这种乱码的方法




最近写的一些代码都会在以下地址发布,有兴趣的来批:
http://www.phpx.com/happy/thread-131368-1-1.html
2006-8-18 06:07 PM#1
查看资料  Blog  发短消息  顶部
 
只爱一个人 (只爱一个人)
论坛元老
Rank: 8Rank: 8
超级管理员



UID 29639
精华 0
积分 3782
帖子 1620
金钱 3782 喜悦币
威望 0
人脉 0
阅读权限 90
注册 2004-6-26
状态 离线
[推荐阅读] 帮我想想办法!
用GET方法应该不会改变编码的啊

是不是你文件本身的编码不一样啊

我知道xmlHTTP里的POST传递是UTF-8的
2006-8-19 02:13 AM#2
查看资料  访问主页  Blog  发短消息  顶部
 
sanders_yao
版主
Rank: 7Rank: 7Rank: 7
or2 =333


UID 30286
精华 0
积分 11786
帖子 4970
金钱 11783 喜悦币
威望 0
人脉 3
阅读权限 100
注册 2004-7-23
来自 北京 菜户营
状态 离线
[推荐阅读] 国卫博达诚聘php开发人员
getXmlHTTPRequest()这个函数是自定义的 没有帖出来 仅仅是为了适应ie和mozilla 里面做了一个判断 返回各自的对象

所以后面的open方法的使用应该是一样的  req.open("get", "http://localhost/test.txt", false); 这里已经指定使用get方法

但是似乎获取的也是按utf-8编码显示的 所以才会乱码

test.txt 应该不是utf-8编码的 是我使用windows的记事本程序创建的

难道说必须要创建成utf-8编码的文档 才能被正常显示 js中有没有什么方法在不同的编码之间做相应的转换?

[ 本帖最后由 sanders_yao 于 2006-8-19 10:21 AM 编辑 ]




最近写的一些代码都会在以下地址发布,有兴趣的来批:
http://www.phpx.com/happy/thread-131368-1-1.html
2006-8-19 10:20 AM#3
查看资料  Blog  发短消息  顶部
 
只爱一个人 (只爱一个人)
论坛元老
Rank: 8Rank: 8
超级管理员



UID 29639
精华 0
积分 3782
帖子 1620
金钱 3782 喜悦币
威望 0
人脉 0
阅读权限 90
注册 2004-6-26
状态 离线
[推荐阅读] 国卫博达诚聘VC++程序员
我一般用的都是POST,然后把数据ICONV一次
最近做的东西,全用UTF-8的编码

按正常情况来说,如果是用GET的方法传递数据,不应该会被转码的
2006-8-19 10:37 AM#4
查看资料  访问主页  Blog  发短消息  顶部
 
sanders_yao
版主
Rank: 7Rank: 7Rank: 7
or2 =333


UID 30286
精华 0
积分 11786
帖子 4970
金钱 11783 喜悦币
威望 0
人脉 3
阅读权限 100
注册 2004-7-23
来自 北京 菜户营
状态 离线
[推荐阅读] [转]关于正则表达式的贪婪与非贪婪模式
这么说只能在生成文件的时候转换字符集

js没有办法转换字符集?

如果文件是xml格式 我使用responseXML.xml就不会出现乱码 但是使用responseText还是会乱码

所以才感觉js应该有办法做字符集转换工作

但是如果是JSON格式的文件 使用responseXML.xml就会出错




最近写的一些代码都会在以下地址发布,有兴趣的来批:
http://www.phpx.com/happy/thread-131368-1-1.html
2006-8-19 03:32 PM#5
查看资料  Blog  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.030578 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP