开发者社区> 玄学酱> 正文

15.11. 国际化 Locale database。

简介:
+关注继续查看

在开始具体介绍之前,需要先介绍几个术语:

  • i18n: 就是internationalization, 国际化,由于首字母"i"和末尾字母"n"间有18个字符,所以简称i18n. internationalization指为了使应用程序能适应不同的语言和地区间的变化而不作系统性的变化所采取的设计措施。

  • l10n: 就是localization, 本地化,由于首字母"l"和末尾字母"n"间有10个字母,所以简称l10n. localization指为了使应用软件能够在某一特定语言环境或地区使用而加入本地特殊化部件和翻译后文本的过程。

  • locale: 简单来说是指语言和区域进行特殊组合的一个标志,如:en-us, zh-cn, zh-tw

l10n有很多历史遗留问题,l10n目前已经被i18n取代。

我自己曾经使用过下面四种方式实现语言包

  1. 定义一个数组

  2. 使用数据库

  3. 使用文件

  4. 使用数据结构

15.11.1. Unicode

相比几年前,目前各种语言对UTF-8支持都比较好。

在BBS上常常看到一些网友抱怨UTF-8出现“乱码”问题,让我们看看都有哪些地方涉及编码问题。

用户输入法->IDE开发环境,浏览器->web容器->数据库

任何一个环节出现问题有可能出现问题

  • 首先是输入法,早期输入法可能是GB2312或GBK。

  • 其次是IDE开发环境,当你创建一个空文件时,它的已经具备某种编码,一般外国开发工具默认是acsii,这一点我认为Dreamware做的最好,可以随时切换编码。

  • 浏览器现在基本不用担心

  • web容器apache 2.x对unicode支持很好,tomcat本身机器码就是unicode。

  • 数据库问题也不大,PostgreSQL相比MySQL对Unicode支持也早,也比较好。MySQL这方面有点复杂。

[提示] 提示

如果你不考虑使用Unicode并且想支持繁体和简体中文,你可以使用GBK,但我建议你使用GB18030。

Unicode不是最好的选择,它占用三个字节,数据量较大,选择适合你的编码,如果你是英文网站,请使用ISO-8859-1,如果是简体中文,请使用GB2312

15.11.2. 繁简转换

方案1: User -> Squid ->Web Server

修改squid源码,加入iconv(big5,gb2312,html page)

e.g.1 user (gb.example.org) -> Squid (big5->gb2312) -> web server
e.g.2 user (big5.example.org) -> Squid (gb2312->big5) -> web server
			





原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Oracle Database Predefined Roles
Table 4-3 Oracle Database Predefined Roles
111 0
Oracle Database 19c 中的自动索引 (DBMS_AUTO_INDEX)
Oracle 数据库 19c 引入了自动索引功能,它可以让您将一些有关索引管理的决策交给数据库。
81 0
Oracle 企业管理器DataBase Control使用说明
本文目录 1. 简介 2. 企业管理器登录方式 3. 企业管理器常用功能 3.1 查看数据库基本信息 3.2 查看用户和角色 3.3 查看数据库对象 4. 想法
413 0
oracle database 补丁下载方法
oracl database 补丁查询和下载.
747 0
Oracle 数据库重放(Database Replay)---样例
1 生产环境 创建存放抓取文件的directory mkdir DBReplay sqlplus / as sysdba create directory cap10g as 'XXXXX/dbreplay'; 2 生产环境 开始抓取trace sqlplus / as sysdba<spool capture_trace.
1311 0
Oracle 数据库重放(Database Replay)功能演示
https://www.cnblogs.com/jyzhao/p/5072800.html 我们可以捕获生产环境的工作量,在测试环境上重放,从而在不影响生产环境的前提下做一些改动测试。捕获:需要Oracle版本为10.2.0.4或更高.重放:需要Oracle版本为11g Release 1或更新. 本文环境:RHEL6.4 + Oracle 11.2.0.4下面介绍一下执行Database Replay的Workflow。
997 0
oracle database 18c rpm 安装
oracle rpm 安装,oracle rpm install.
2246 0
+关注
玄学酱
这个时候,玄酱是不是应该说点什么...
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载