globalization与全球化
2018-06-22 07:36:12来源:未知 阅读 ()
本配置节是关于配置应用程序的全球化设置。
<globalization <!--以下两个特性默认编码为 UTF-8,该编码在 Machine.config 文件(在安装 .NET Framework 时创建)的 globalization 节中指定。 如果在 Machine.config 或 Web.config 文件中未指定响应编码,则编码默认为计算机的"区域选项"区域设置。 在单服务器应用程序中,此特性和responseEncoding 特性应该相同。 对于不常见的情况(默认服务器编码不同的多服务器应用程序),可以使用本地 Web.config 文件改变请求和响应编码。 --> <!--指定每一传入请求的假定的编码,包括已传递的数据和查询字符串。如果请求附带包含一个 Accept-Charset 特性的请求标头,它将重写配置中的该特性。--> requestEncoding="any valid encoding string" <!--指定响应的内容编码。--> responseEncoding="any valid encoding string" fileEncoding="any valid encoding string" responseHeaderEncoding = "any valid encoding string" resourceProviderFactoryType = string <!--目前不使用此特性--> enableClientBasedCulture="true|false" enableBestFitResponseEncoding = "true|false" <!--以下两个特性的内容可参见System.Globalization.CultureInfo,通常情况下中国简体是"zh-ch", JA-JP EN-US 日语和英语 (美国)--> <!--为处理传入的 Web 请求指定默认的区域性。此特性还可以设置为 auto。--> culture="any valid culture string" <!--为处理依赖于区域设置的资源搜索指定默认的区域性。此特性还可以设置为 auto。--> uiCulture="any valid culture string"/>
例如如下设置
<globalization requestEncoding="iso-8859-1" responseEncoding="iso-8859-1"/>
请求时出现中文(字符编码不对),则会出现乱码,同样响应的页面中的中文也会出现乱码,正常配置时如下图所示
设置了响应编码为iso-8859-1或其他诸如此类ASCII让中文显示乱码的编码,则会出现
其响应的内容均使用了iso-8859-1而使得中文不能正常显示。
假若使用了UNICODE作为响应编码,中文能正常显示,但是js有报错,jquery的脚本出现乱码。
另外在特性中有两个特性——uiCulture和resourceProviderFactoryType 是和资源相关的,即*.resx这部分的内容,实际上资源并不局限于*.resx,这个可以参考蒋金楠老师的博文。uiCulture是指定ui界面的区域语言。resourceProviderFactoryType则是指定自定义的资源提供者工厂类的完全限定名。例如
<globalization uiCulture="zh-CN" resourceProviderFactoryType="FastDoge.Bussiness.MyResourceProviderFactory, FastDoge.Bussiness"/>
这个类FastDoge.Bussiness.MyResourceProviderFactory继承抽象类ResourceProviderFactory。重写两个方法
public override IResourceProvider CreateGlobalResourceProvider(string classKey); public override IResourceProvider CreateLocalResourceProvider(string virtualPath);
两个方法区别在于前者是用的是全局资源的ResourceProvider,而后者是对于每个页面自带的资源的ResourceProvider。
构造的ResourceProvider实现IResourceProvider接口。实现方法
public object GetObject(string resourceKey, System.Globalization.CultureInfo culture)
和getter属性
public System.Resources.IResourceReader ResourceReader
GetObject方法是获取某个资源名的资源值;ResourceReader属性获取的IResourceReader获取整套资源集合的读取器。ResourceProvider的大致作用则是如此。
在代码中获取资源值时调用System.Web.HttpContext的静态方法GetGlobalResourceObject方法和GetLocalResourceObject
参考文章
.NET的资源并不限于.resx文件,你可以采用任意存储形式[上篇]
http://www.cnblogs.com/artech/archive/2010/12/16/Reource_framewok_01.html
.NET的资源并不限于.resx文件,你可以采用任意存储形式[下篇]
http://www.cnblogs.com/artech/archive/2010/12/17/Reource_framewok_02.html
如何让ASP.NET默认的资源编程方式支持非.ResX资源存储
http://www.cnblogs.com/artech/archive/2010/12/30/ResourceProvider.html
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- .Net MVC网站中配置文件的读写 2020-02-28
- ASP.NET Core MVC 配置全局路由前缀 2020-02-23
- asp.net core中灵活的配置方式详解 2020-02-06
- VS2015开发环境的安装和配置 2020-01-20
- 如何在ASP.NET Core类库项目中读取配置文件详解 2019-12-31
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash