1、I18N 和 L10N
I18N 即internationalization的缩写 ,L和N之间有18个字母, 指软件“国际化”;
L10N 即 localization的缩写,L和N之间有10个字母,指软件的“本地化”;
国际化是本地化的一部分;本地化包含国际化,是对本地化的补充和完善。
2、字符集与编码
(1)ASCII字符集
ASCII编码结构为7为(00-7f)
(2) ISO-8859
在ASCII的基础上制定的编码标准。包括128个ASCII字符,并新增128个字符。
(3)ANSI
代表本地编码;
GB2312,BIG5,ShiftJIS等,这些使用2个字节来代表1个字符的各种文字延伸编码方式,称为ANSI编码。
(4)GB2312 和GBK
GB2312 共 7445个图形字符,其中汉字6763个,汉字以外的图形字符682个;
GBK是对GB2312的补充,包含2万多个字符;
(5)Unicode 字符集
(6)正确使用文件编码
文件编码,指文件(如 .html , .jpg)本身以何种编码形式保存。
输入输出流编码 (有时从文件或函数外接收一些数据,比如字符串)。
HTML/XHTML字符集
<Meta http-equiv="Content-Type" Content="text/html; Charset=gb2312" / >
<Meta http-equiv="Content-Language" Content="zh-CN" />
3、gettext函数
4、系统本地化函数簇
setlocale()
money_format() ,window系统不支持
pc_format_currency()
5、Iconv() 函数
Iconv("GB2312","UTF-8",$text) , GB2312向 UTF-8编码转换
6、mbstring扩展库
来实现双字节字符的截取:
mb_sbstr()
检测字符串编码:
mb_detect_encoding()
转换编码:
mb_convert_encoding ($text ,"UTF-8", "GB2312") , GB2312向 UTF-8编码转换
mb_convert_encoding ($text ,"UTF-8") , GB2312向 UTF-8编码转换