JS,展现后台变量时,为啥有乱码?

[复制链接]
查看12 | 回复12 | 2011-4-13 04:54:57 | 显示全部楼层 |阅读模式
我在ASPX页面插入下面这个语句,这是集成一个评论系统:
script type=\"text/javascript\" charset=\"gb2312\" src=\"<a href=\"http://59.65.232.222//js.ashx?type=creat%=FoodID%%=FoodName%\"/script

重点在于%=FoodID%和%=FoodName%,这两个变量都是后台的,我用这种方式传参给JS.ASHX文件。
问题出现了,这个%=FoodID%现实正常,可%=FoodName%总显示成很多奇形怪状的繁体字那种。
为了检查原因,我又在下面写了一句:
script type=\"text/javascript\" charset=\"gb2312\"alert(\"%=FoodName%\");/script
结果显示正常。

请问各位大神,问题出在哪儿呢?
PS:我改成UTF-8也不行。
回复

使用道具 举报

千问 | 2011-4-13 04:54:57 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">应该需要进行url编码再传

















<h4 class=\"ask\">追问





<pre class=\"replyask-text\" id=\"content-3167424\">我改成这样script type=\"text/javascript\" charset=\"gb2312\" src=\"<a href=\"http://59.65.232.222//js.ashx?type=creat%=FoodID%%=FoodName%)\"/script
依然不行,估计escape方法不能这么用,能麻烦您具体写一下代码吗?谢谢了
回复

使用道具 举报

千问 | 2011-4-13 04:54:57 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-3168275\">你把a_title=escape(%=FoodName%) 换成 a_title=我是谁看看还是不是乱码。
回复

使用道具 举报

千问 | 2011-4-13 04:54:57 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-3169631\">不是了~!那针对我们这种情况应该怎么改呢?
回复

使用道具 举报

千问 | 2011-4-13 04:54:57 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-3169994\">那你再换成a_title=urlEncode(\'%=FoodName%\') 试试

function urlEncode(str)
{                       
                                str=str.replace(/\\r\\n/g, \"\\n\");

                                str = str.replace(/./g,function(sHex)
                                {
                                        window.EnCodeStr = \"\";
                                        window.sHex = sHex;
                                        window.execScript(\'window.EnCodeStr=Hex(Asc(window.sHex))\',\"vbscript\");
                                        return window.EnCodeStr.replace(/../g,\"%$
                                });
                                return str;
}
回复

使用道具 举报

千问 | 2011-4-13 04:54:57 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-3170302\">不行啊 urlEncode这个方法它读不到,依然显示成a_title=urlEncode(奇形怪状的字……
回复

使用道具 举报

千问 | 2011-4-13 04:54:57 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-3170897\">那你 %=FoodName%就是乱码了啊
回复

使用道具 举报

千问 | 2011-4-13 04:54:57 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-3226373\">大哥,能给一个后台C#方法吗?就跟这个function urlEncode(str)一样的功能
回复

使用道具 举报

千问 | 2011-4-13 04:54:57 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-3232231\">兄弟 不好意思了 我c#没搞过
回复

使用道具 举报

千问 | 2011-4-13 04:54:57 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-3167436\">我改成这样script type=\"text/javascript\" charset=\"gb2312\" src=\"<a href=\"http://59.65.232.222//js.ashx?type=creat%=FoodID%%=FoodName%)\"/script
依然不行,估计escape方法不能这么用,能麻烦您具体写一下代码吗?谢谢了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行