解决value为“&#x;”的字体编码提交为空问题(转码UNICODE)

最近使用HUI里面的图标

每个图标都是由类似“”的编码完成的,需要hui里面的字体文件解码才能显示成为图标。但是我将“”赋值给input想提交到后台出现了问题,每次取到的value成了方框,传到后台显示为空

<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript" src="js/jquery-3.2.1.min.js">
			
		</script>
	</head>
	<body>
		<input type="text"  value="&#xe61d;"/>
	</body>
	<script type="text/javascript">
		var v=$("input").val();
		console.log(v)
	</script>
</html>

 

所以传类似“&#xe61d;”值时需要特殊处理一下。

解决办法:

常在一些网站源码中看到&#x开头的内容,这是转化成unicode编码后的汉字,我找到了一种将这种编码转换成汉字的方法,记录在这里以便有人使用。将下面的代码复制出来保存成html格式,使用浏览器打开就可以使用了。

<html>
<head>
<title>GB2312 UNICODE转换工具</title>
<div align=center>
<center>
<table border=0 cellpadding=0 cellspacing=0 style="border-collapse: collapse" width=600 id=AutoNumber1 height=26>
  <tr>
    <td width=100% height=26>
    <p align=center><font face=黑体 size=5 color=#FF0000>GB2312 UNICODE 转换工具</font></p>
    <p>使用方法:</p>
    <p>  在下面的文本框中输入中文文字,按“TO UNICODE”,即可将其转化为UNICODE字符。</p>
    <p>  再按“TO GB2312”,即可将其还原为简体中文。</td>
  </tr>
</table>
</center>
</div>
<p align=center>
<textarea cols=82 rows=10 id=code>
</textarea> </p>
<p align=center>
 
<input type=button onclick=encode(code,this) value="TO UNICODE">
<script>
var mode="zhuan";
function encode(obj,btn){
   if(mode=="zhuan"){
       obj.value=obj.value.replace(/[^\u0000-\u00FF]/g,function($0){return escape($0).replace(/(%u)(\w{4})/gi,"&#x$2;")});
       btn.value="TO GB2312";
       mode="huan";
   }else{
       obj.value=unescape(obj.value.replace(/&#x/g,'%u').replace(/;/g,''));
       btn.value="TO UNICODE";
       mode="zhuan";
   }
}
</script></p>
</body></html>

 以上方法可以使字体在中文和编码之间转换

用到我的input中可以这样:

<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript" src="js/jquery-3.2.1.min.js">
			
		</script>
	</head>
	<body>
		<input type="text"  value="&#xe61d;"/>
	</body>
	<script type="text/javascript">
		var v=$("input").val();
		var a=v.replace(/[^\u0000-\u00FF]/g,function($0){return escape($0).replace(/(%u)(\w{4})/gi,"&#x$2;")});
		console.log(a)
	</script>
</html>

这样虽然浏览器还是显示方框,但是打印出来的转换后的值就是input value的值,再使用这个值传到后台就可以了 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

豆趣编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值