.NET中文乱码解决方案
前言:最近升级一个由VS05开发的项目,当迁移至VS10后,试运行,啊~!我文盲了,怎么一个汉字都不认识了!(乱码纷纷的说)
说明:本文以将项目改为UTF8编码为例。
解决之道
1、修改配置文件
1 <globalization requestEncoding="UTF-8" responseEncoding="UTF-8" responseHeaderEncoding="UTF-8"/>
≯这步没解决,Next!
2、页面添加meta标签
1 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
≯还没解决,Next!
3、设置@Page指令
1 <%@ Page ResponseEncoding ="UTF-8" Language="C#" AutoEventWireup="true" CodeFile="list.aspx.cs" Inherits="ExamineeStatus_list" %>
≯仍未解决,Next!
4、变更.aspx和.aspx.cs文件编码方式
注意:选择的是“Unicode(UTF-8 带签名) – 代码页 65001”,向下滚动还会有“Unicode(UTF-8 无签名) – 代码页 65001”项,请注意识别。
≯始终未解决,对不起!没招了,正在帮您转接Google….
OK!通过1,2,4步的设置,已中文系毕业,重新认识了汉字。
相关话题
1、关于“UTF-8”和“utf-8”
“UTF-8”是标准写法,如果是英文环境,也可以写成“utf-8”,为了严格一点,最好用标准的大写“UTF-8”
2、关于“UTF-8带签名”和“UTF-8无签名”
“UTF-8带签名”编码方式会在文件的最开始处设置一组BOM(Byte-Order Mark,字节顺序记号)标记(EF BB BF(十六进制)),以指明该文件使用的是UTF8编码方式;而“UTF-8无签名”文件是通过UTF-8编码的准则来尝试辨别。
结束语:文章无甚深浅,止乎于分享。如有错误,还望斧正。