关于非常规特殊字符在.net中的处理

首先声明,我处于很菜的菜鸟阶段,只是最近工作中遇到这个问题,才拿出来说说!!
    在TextBox的使用过程中,难免会遇到特殊字符的问,对于一些非常规unicode字符,如:“ ”,客户端写到TextBox里提交到后台会变成“•”,此时你存到数据库里是没问题的,但是当你页面编辑绑定时就会出现问题了,此时如果你将这条数据从数据库中取出,用TextBox1.Text="•";语句赋值,你会发现,前台页面文本框里显示的就是 •,这是由于.net在往前台赋值时,把HTML关键字符转意的原因,此时你若看页面源码,会发现前台input(后台的TextBox) 的value="•",是因为“&”被转义了,所以TextBox会显示"•",而没有显示“ ”!
     要解决方法很简单,只要将服务器端控件变成客户端控件就行了,也就是把TextBox变成<input type="text" value=<%=varValu%>>...这种形式就可以了!!
     同时我在使用中还发现一个问题,如果使用ajax验证的话,这种方法会有问题,因为,如果你直接提交到后台,会出错,因为.net不认此字符,乱码不说,还抛异常!但提交前可用JS的escape函数转成URL编码提交,这样提交没问题,可问题是提交到后台的仍然是“ ”,而不是想先前客户端FORM提交的,或转变成"&#8226;",所以要ajax进行一些验证的话还是会有问题,至少sql也不认这个字符,即使认了,你数据库里存的是"&#8226;",也不是“ ”!!
      相关的字符还有很多,如:
ゃōゃ♥ ♡๑۩ﺴ ☜ ☞ ☎ ☏♡ ⊙◎ ☺ ☻✖╄ஐﻬ ► ◄ ▧ ▨ ♨ ◐ ◑ ↔ ↕ ▪ ▫ ☼ ♦ ▀ ▄ █▌ ▐░ ▒ ▬♦ ◊ ◦ ☼ ♠♣ ▣ ▤ ▥ ▦ ▩ ◘ ◙ ◈ ♫ ♬ ♪ ♩ ♭ ♪ の ☆ → あ ぃ £ ❤ 。◕‿◕。

# @ & * ¥☸ ❁ ❀ ✿ ✾ ❃ ✺ ❇ ❈ ❊ ❉ ✱ ✲ ✩ ✫ ✬ ✭ ✮ ✰ ☆ ★ ✪ ¤ ☼ ☀ ☽ ☾ ❤ ♡ ღ☻ ☺ ❂ ◕ ⊕ ☉ Θ o O ♋ ☯ ㊝ ⊙ ◎ ◑ ◐ ۰ • ● ▪ ▫ 。 ゚ ๑ ☜ ☞ ☂ ♨ ☎ ☏

︻ ︼ ︽ ︾ 〈 〉 ︿ ﹀ ∩ ∪ ﹁ ﹂ ﹃ ﹄﹝ ﹞ < > ≦ ≧ ﹤ ﹥ 「 」 ︵ ︶ ︷ ︸ ︹ ︺〔 〕 【 】 《 》 ( ) { } ﹙ ﹚ 『 』 ﹛ ﹜╳ + - ﹢ × ÷ = ≠ ≒ ∞ ˇ ± √ ⊥ ∠ ∟ ⊿ ㏒

▶ ▷ ◀ ◁ ☀ ☁ ☂ ☃ ☄ ★ ☆ ☇ ☈ ☉ ☊ ☋ ☌ ☍ ☑ ☒☢ ☸ ☹ ☺ ☻ ☼ ☽ ☾ ♠   ♡ ♢ ♣ ♤ ♥ ♦ ♧ ♨ ♩ ✙ ✈ ✉ ✌ ✁ ✎ ✐ ❀ ✰ ❁ ❤ ❥ ❦❧ ➳ ➽ 〠 〄 ㍿ ♝ ♞

♯♩♪♫♬♭♮ ☎ ☏ ☪ ♈ ♨ ; ₪ ¤ 큐 ; ™ ♂✿ ♥ の ↑ ↓ ← → ↖ ↗ ↙ ↘ ㊣ ◎ ○ ● ⊕ ⊙ ○  △ ▲ ☆ ★ ◇ ◆ ■ □ ▽ ▼ § ¥ 〒 ¢ £ ※ ♀ ♂ ; ⁂℡ ↂ░ ▣ ▤ ▥ ▦ ▧
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值