我有一个中国字符的ASCII值3f:3f
一个给定的十六进制值
没有
当我盖回字符串,它无法显示中国人物
不知道在哪里要更改编码任何帮助将不胜感激。
这是在JSP页面发送字符串,并显示它后面的逻辑
$('#form').submit(function (event)
{
//
$('#outputtext1').html('<img height="20" width="20" src="images/712.GIF"> loading...');
event.preventDefault();
$.ajax({
type: "POST",
url: "StringFunctionality", //this is my servlet
data: $("#form").serialize(),
success: function(msg){
$('#outputtext1').empty();
$('#outputtext').empty();
$('#outputtext').append(msg);
}
});
});
});
而结果S捕获和显示通过HTML
<div class="form-group row">
<label for="outputtext" class="font-weight-bold col-sm-2 col-form-label">Output</label>
<div class="col-sm-10">
<textarea name="outputtext" class="form-control" id="outputtext" cols="2" rows="3" ></textarea>
</div>
</div>
在您的例子中,你正在试图向中国字符转换为ASCII。问题是,ASCII只覆盖了一些拉丁字符。
作为3F是问号ASCII十六进制值的评论说,穆萨。
当您尝试将一个字符串从一种编码转换为另一种仅支持字符的子集(例如,从UTF-8到ASCII)它将取代不能用默认的编码字符(或删除它们)。在您的情况是取代中国特色和问号。
所以,当前的行为是正常的。您可能需要进行转换,以确保目标编码能够提供的字符编码前做一些测试。