2017-02-15 5 views
0

中国語文字を入力テキストフィールドにデコードしたいのですが、フィールドをそのまま表示しています。入力テキストフィールドの中国語文字のデコード

しかし、それは "漢 字" を示しています代わりに、漢字

予想される出力:漢字
出力:漢 字

iは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

関連する問題