globalization与全球化
本配置节是关于配置应用程序的全球化设置。
<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
globalization与全球化的更多相关文章
- ASP.NET Core 中文文档 第三章 原理(6)全球化与本地化
原文:Globalization and localization 作者:Rick Anderson.Damien Bowden.Bart Calixto.Nadeem Afana 翻译:谢炀(Kil ...
- ASP.NET MVC之国际化(十一)
前言 在项目中遇到国际化语言的问题是常有的事情,之前在做关于MVC国际化语言时,刚开始打算全部利用AngularJS来实现,但是渐渐发现对于页面Title难以去控制其语言转换,于是对于页面Tiltle ...
- [Asp.net 5] Localization-简单易用的本地化
本地化也叫国际化,就是做多语言程序时,可以一键式将当前语言切换到另外一种语言.对于跨国企业或者和国外有业务往来的公司特别重要:就算一个普通公司的门户如果支持中.英.繁体,也会让人觉得高大上.有没有呀, ...
- .NET代码编写规范 整理
.NET代码编写规范 整理 .NET代码编写规范 - [ASP.NET] 2009-02-26 | Tag: 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://lensp ...
- MVC之国际化
MVC之国际化 前言 在项目中遇到国际化语言的问题是常有的事情,之前在做关于MVC国际化语言时,刚开始打算全部利用AngularJS来实现,但是渐渐发现对于页面Title难以去控制其语言转换,于是对于 ...
- 1: 介绍Prism5.0 Introduction to the Prism Library 5.0 for WPF(英汉对照版)
Prism provides guidance designed to help you more easily design and build rich, flexible, and easy- ...
- Mysql 5.7 官方文档翻译
始于 2017年4月1日-愚人节 1.1 MySQL 5.7 新功能 本章节介绍了MySQL 5.7 新版本中新增.废弃.删除的功能. 在1.5章节 Section 1.5, "Server ...
- 全球化 System.Globalization.CultureInfo与RegionInfo类
一.CultureInfo类:文化信息 分类: 1.中立文化(Neutral culture): zh-CHS:中文,无区域信息,无格式化信息 2.特定区域文化(Specific culture) z ...
- 重新想象 Windows 8 Store Apps (57) - 本地化和全球化
[源码下载] 重新想象 Windows 8 Store Apps (57) - 本地化和全球化 作者:webabcd 介绍重新想象 Windows 8 Store Apps 之 本地化和全球化 本地化 ...
随机推荐
- Building Modern Web Apps-构建现代的 Web 应用程序(一些感想)
<iframe src="http://channel9.msdn.com/Series/MVA-China/Web20140611A01/player?h=540&w=960 ...
- ASP.NET MVC 和 Ruby 相结合的Web框架Oak
在http://www.asp.net/mvc/open-source 上有个项目Oak: Frictionless development for ASP.NET MVC single page w ...
- 实战JS正则表达式
-正则表达式是一种文本模式的匹配工具. -文章导读: --1.正则对象的属性和方法 --2.字符串对象的方法 --3.使用正则表达式: ---3.1 给字符串加上千分符 ---3.2 字符串中出现次数 ...
- 巧用transform实现HTML5 video标签视频比例拉伸
前言 原文地址 曾几何时,项目中有碰到视频比例拉伸的需求,但是发现这个看似再普通不过的一个需求,找遍全网至今都没有找到解决方法.因为强制给video标签设置width和height的话只会将video ...
- 你可能不知道的7个CSS单位
如果你是一名前端开发工程师,一般px和em使用频率比较高.但是今天本文的重点是介绍一些我们使用很少.甚至么有听说的单位. 一.重温em <style type="text/css&qu ...
- 支持向量机(SVM)复习总结
摘要: 1.算法概述 2.算法推导 3.算法特性及优缺点 4.注意事项 5.实现和具体例子 6.适用场合 内容: 1.算法概述 其基本模型定义为特征空间上的间隔最大的线性分类器,即支持向量机的学习策略 ...
- Docker实践:安装wordpress
本文将示例如何使用Docker来安装wordpress.使用三种方法: 1.基于官方的wordpress镜像使用docker run实现: 2.基于官方的wordpress镜像使用fig命令编排工具实 ...
- titit. 深入理解 内聚( Cohesion)原理and attilax大总结
atitit. 深入理解 内聚( Cohesion)原理and attilax大总结 1.1. 内聚的概念 1 1.1.1. 高内聚模式关于这个问题给出的答案是:分配职责,使其可保持 ...
- 【非愚人】重要通知:04-01 贴吧继PHP资源之后又。。。
贴吧继PHP资源之后又取消了JAVA,IOS等资源的贴,现在专注于Net,C++,Linux,平面设计.主要是为了让广大Net程序员具备全栈全平台牛人的潜力,故而取消那些干扰因素.Net的潜力和活力大 ...
- OPEN CASCADE Gauss Least Square
OPEN CASCADE Gauss Least Square eryar@163.com Abstract. The least square can be used to solve a set ...