jquery 给input控件赋值出现乱码 求帮助

smallbee 2010-05-07
小弟刚学,遇到一个问题,从后台拿出来的中文数据,放在div里面可以显示,但是赋值给input text确出现乱码  如下:招行   正常在html div里面是:招行


求帮助。
化蝶自在飞 2010-05-08
这是什么编码呢?utf8不像,后台输出的时候转码成utf8然给传递给js试试.
还真没遇到过.呵呵.
jickcai 2010-05-08
招行  -这是转义字符放在html里没问题浏览器会自动转义,放到input text就是原样显示,你需要把招&#34892转换成原样赋值到text里。

转义字符表可参考:
http://114.xixik.com/character/ 页面
smallbee 2010-05-09
jickcai 写道
招行  -这是转义字符放在html里没问题浏览器会自动转义,放到input text就是原样显示,你需要把招&#34892转换成原样赋值到text里。

转义字符表可参考:
http://114.xixik.com/character/ 页面



没道理啊 ,那为什么一起返回的数据  非中文可以显示在input text控件的value里面  而中文不行呢?
smallbee 2010-05-09
而且

招&#34892

<input type="text" value="&#25307;&#34892" />  这两个都可以显示中文
DanaJeanie 2010-05-12
从后台取出来的数据,用el表达式,就不会出现乱码了
smallbee 2010-05-12
DanaJeanie 写道
从后台取出来的数据,用el表达式,就不会出现乱码了


el表达式当然不会乱码 我放在html里面也不会乱码,只有给input text控件赋值才会乱码


现在问题解决了,我现在不给input的value赋值  而是整个input控件都是动态生成,这样就能显示中文 ,很奇怪的东西。
psufool 2010-05-12
你那是传递了中文,如果传递中的话要用post提交这样才不会出现乱码。。
smallbee 2010-05-13
psufool 写道
你那是传递了中文,如果传递中的话要用post提交这样才不会出现乱码。。

我是后台返回中文,并不是前台传递发送中文
jakeycwy 2012-01-13
我也在纠结这个问题,突然想到一个方法可行,分享下
var str="&#25307;&#34892;"
var $div=$("<div style='display:none'></div>");
$div.html(str);
$input.val($.div.html());//给你的input框赋值

Global site tag (gtag.js) - Google Analytics