惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
阮一峰的网络日志
阮一峰的网络日志
T
The Blog of Author Tim Ferriss
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
宝玉的分享
宝玉的分享
L
LangChain Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Last Week in AI
Last Week in AI
博客园 - 司徒正美
M
MIT News - Artificial intelligence
人人都是产品经理
人人都是产品经理
WordPress大学
WordPress大学
B
Blog RSS Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - Franky
B
Blog
V
V2EX
J
Java Code Geeks
D
Docker
博客园 - 叶小钗
The Cloudflare Blog
量子位
博客园_首页
MongoDB | Blog
MongoDB | Blog

博客园 - 夏狼哉

.Net framework 的浏览器定义文件 Windows按名称排序问题 IE的文档模式, 及Textarea呈现bug一例 SilverLight与WCF服务双工通讯第二篇:Net.Tcp binding SilverLight与WCF服务双工通讯第一篇:PollingDuplexHttpBinding SilverLight通过Net.TCP(NetTCPBinding)方式调用WCF服务 WCF与Asp.Net Web Application的深度整合方法 C#与Outlook交互收发邮件 分布式版本控制系统Mercurial(二):web server的架设 分布式版本控制系统Mercurial(一):Mercurial基本功能介绍 C#将汉字转换为拼音首字母 VS2010 targetFramework 错误 在网络上共享条码打印机 WCF身份验证之二:使用MessageHeader进行验证 WCF身份验证之一:使用证书进行验证 Windows CE 5.0 Emulator [条码打印]使用斑马语言(ZPL)打印汉字 C#打印条码与ZPL 应用程序在网络上通信的实现(C#)
nbsp空格
夏狼哉 · 2011-06-28 · via 博客园 - 夏狼哉

对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字符不能被正确解读(汉字是可以的).