2017-02-15 63 views
0

我想将中文字符解码为输入文本字段,但它显示的是原样。解码输入文本字段中的中文字符

但它显示“漢 字”代替中国文字

预期输出:汉字
输出:漢 字

当我使用的textarea

输入类型它工作正常= “文本” ID = “中国”

函数myFunction的(){

var uri_dec = decodeURIComponent("漢字") 
document.getElementById("chinese").value= uri_dec; 

}

请帮我解决这个问题

在此先感谢

回答

0

decodeURIComponent不符合您的想法。它会将"%E6%BC%A2%E5%AD%97"(URI编码的字符串)解码为"漢字";但是您有HTML实体,而不是URI编码的字符串。

var ent_enc = "漢字" 
 
var div = document.createElement('div'); 
 
div.innerHTML = ent_enc; 
 
var ent_dec = div.textContent; 
 
document.getElementById("chinese").value = ent_dec;
<input type="text" id="chinese">

+0

的'innerHTML'使用是不安全的,如果你的输入可以是不可信的。例如'var ent_enc =“”'导致代码执行。使用'document.createElement('textarea')'会更安全,因为它不能有任何超出纯文本的子节点。 – ephemient