问题描述
问题一:“你好”的gb2312编码是:%C4%E3%BA%C3。utf-8编码是:%20%E4%BD%A0%E5%A5%BD我现在要的功能是aa.aspx?wd=%C4%E3%BA%C3和aa.aspx?wd=%20%E4%BD%A0%E5%A5%BD和aa.aspx?wd=你好在上述3种情况中,aa.aspx中都能识别并成功读取到关键词wd的值是“你好”问题二:有50万条记录,每题仅有8-10个汉字而已,不经常改动,但是很频繁用到,每次都从数据库读取我嫌效率低要放在哪些地方能够提高读取效率呢???static变量??还是xml?还是cache??我要的是能够提高读取数据的效率。
解决方案
解决方案二:
1、HttpUtility.UrlDecode2、Cache
解决方案三:
系统会根据内存使用的情况自动清空缓存,你考虑一下。
解决方案四:
第一个问题,不同编码很难通过本身来判断,最好统一使用UTF8,或者附加一个指示编码方式的字段,后台分情况处理。第二个问题,如果不是取出全部,还是使用数据库吧,效率快慢自己测
解决方案五:
引用1楼starfd的回复:
1、HttpUtility.UrlDecode2、Cache
关于HttpUtility.UrlDecode的问题是,在request时就已经是乱码了
解决方案六:
引用4楼Bolang8383的回复:
Quote: 引用1楼starfd的回复:
1、HttpUtility.UrlDecode2、Cache关于HttpUtility.UrlDecode的问题是,在request时就已经是乱码了
为什么会接收到3种不同方式传来的参数??你应该统一一下,而不要老企图让代码什么都能认识万一还有页面不通过get提交而通过post提交,你要判断的就更多了再万一有页面传过来的不是wd=你好,而是dw=你好光做这个判断你就得累死
解决方案七:
其实如何传递参数,这本身就是一种"协议"你规定了一个协议,那么谁要调用,谁就都要遵守这个协议而不是胡乱传过来什么东西,你都企图能弄明白他到底想干啥
解决方案八:
对参数编码解码就是按照一个规则经行的。你可以自己写方法,也可以用自带的方法。UrlDecode是用的比较多的。cache或者静态化页面顺便也提高下数据库读取的效率
解决方案九:
引用7楼yue547283947的回复:
对参数编码解码就是按照一个规则经行的。你可以自己写方法,也可以用自带的方法。UrlDecode是用的比较多的。cache或者静态化页面顺便也提高下数据库读取的效率
cache是不是有可能被系统回收资源的???cache可靠点还是static变量可靠点??