.net乱码问题
来源:互联网 发布:asp.net开源商城源码 编辑:程序博客网 时间:2024/04/28 00:02
每次出现乱码问题都要去网上找原因。fishili的写的很好很全。
这次凭记忆简单总结下,希望能记住:
出现乱码,首要问题是要看请求的编码和处理响应时候的编码是否一致。(可能描述有问题)
先看自己构建的网页的编码, 看网站配置文件里面的编码,是否一致。
再看发送请求时候检查url参数是否经过URIEncode。
自己大体理解:
当前显示页面,输入中文或者符号,这个时候页面有个编码一般都使用UTF-8
发送请求后,get,有些浏览器需要手动在js中进行编码。 EncodURI() 和EncodeURIComponent(),两者简单区别,第一个会转意 所有非(基本字符、Mark字符和保留字符),第二个是对保留字符同样做转义处理(:";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ","),所以简而言之,如果请求内容中含有特殊字符要使用第二种,而且只能对这个内容进行转义,不能对整个url进行。他们对传入字符串进行按照UTF-8编码转化成为一个、两个或者三个字节的十六进制转义字符(%xx)(URI是统一方式标示资源的字符串);
到达服务器:服务器对获得的参数会进行解码(无需手动decode),然后程序对数据进行操作,中午的还是中午。(为什么无需decode这里是猜的)
服务器里面也有响应的方法:HttpUtility.UrlPathEncode、HttpUtility.UrlEncode、Server.UrlEncode,分别类似于 EncodURI() ,EncodeURIComponent(),。。。
响应的时候,保证编码一致既可。UTF-8,即输出的时候content-type/Content-Dispositino什么的头文件里面改写编码。
补充:
今天遇到另一种乱码,本地asp文件 ansi编码,html页面charset=utf-8,更新到香港服务器,网站显示页面中文乱码。
解决:将文本记事本另存为utf-8格式即可。测试本地文本文件默认ansi编码,中文系统打开实际上是gb2312编码,香港服务器英文系统,打开仍然是ansi编码,中文乱码。
另外问题,请求的编码和响应的编码具体是用的哪里的,默认情况下又是哪里的呢?以后留意来补充。
- ASP.net 乱码问题
- ASP.NET 乱码问题
- .net 中文乱码问题
- .net乱码问题
- 网页乱码问题ASP.NET
- 网页乱码问题ASP.NET
- asp.net 中文乱码问题
- asp.net中的乱码问题
- asp.net中的乱码问题
- ASP.NET中文乱码问题
- asp.net 中文乱码问题
- asp.net页面乱码问题
- asp.net中的乱码问题
- Asp.net中的页面乱码的问题
- Asp.net中的页面乱码的问题
- Asp.net中的页面乱码的问题
- 彻底解决ASP.net Request乱码问题。
- .net 取mysql 中文乱码问题
- Android 面试精华题目总结
- objdump命令的使用
- 你知道你为什么穷吗?因为你喜欢省钱!
- Java面试题
- iOS学习(十)Objective-C 内存管理规则
- .net乱码问题
- 基于iscroll实现下拉和上拉刷新
- MinGW下的单步调试
- js history使用范例
- MFC文件操作学习笔记
- CocoaPods版本升级
- 继承,多态使用
- javascript基础:事件1
- yii框架中文件上传