• nbsp空格


    对GridView这样的控件, 取它的Rows[i].Cell[j].Text是件很危险的事情, 因为它会把许多符号转码成类似  这样的转义符, 虽然从前台看起来是正确显示了的, 但是在后台取值时就会把转义符本身取出来, 所以在程序中如果需要读取某格的Text, 还需要先Server.HtmlDecode一下.

    在被自动转义的符号中, 空格是特别诡异的一种, 因为即使数据源中没有空格, 它也能自动产生出来, 比如数据源该列是日期型, null, 但是呈现时, 在html里面就给生成出个 来,  代表空格, 一般来说, 多出来个空格也没什么, 不过今天程序碰到个怪现象, 把它存入文本框, 再重新读出的时候, 这个空格自动变成了问号!  这事情虽然奇怪, 查起来也容易, 观察一下这个字符的ASCII值, 发现值是160, 而正常的空格应该是32, 这就怪不得会变成问号了, 因为标准的ASCII字符只有128个, 超过127的都会无法识别, 而显示为问号, 问题是, 怎么会出现个160空格?

    查了一下资料, 这才发现nbsp空格在定义上与普通空格就是不一样的, 它代表Non-breaking space. 所以它的ASCII值不同于普通空格.  而之所以文本框没有正确识别这个空格, 则是受globalization配置的影响, 以前在globalization中, 我设置的requestEncoding和responseEncoding都是utf-8, 最近测试时改成了GB2312, 经过这次事件也证明用GB2312作为encoding方式是不行的, 它会导致扩展ascii字符不能被正确解读(汉字是可以的).

     

    ---------------------------------------------

    作者:夏狼哉
    博客:http://www.cnblogs.com/Moosdau

    如需引用,敬请保留作者信息,谢谢

  • 相关阅读:
    [BZOJ2969] 矩形粉刷
    数字 (number)
    字符串(String)
    小HY的四元组
    最大公约数(Max Gcd)
    [洛谷P2102] 地砖铺设
    Python OS模块(内置模块)
    json解析神器--jsonpath
    kafka 优势+应用场景
    Python之异常处理
  • 原文地址:https://www.cnblogs.com/Moosdau/p/2091934.html
Copyright © 2020-2023  润新知