如果是只做英文软件,那么很少考虑到字符集,不过如果做其他语言,那么字符集是必须考虑的东西,否则一不小心就搞出来一大堆乱码现象。
有许多其他的软件也有字符集,比如说Windows的Office软件,但是Office使用的是Windows自带的字符集,所以如果当Windows没有安装某个字符集的时候,Office软件也不能正常显示内容。而Oracle的字符集是自带的,也就是说,即使操作系统本身并没有某个字符集,在Oracle中也可以正常显示。这样就保证了Oracle在每个系统平台下有相同的表现。
那么主要使用的字符集这里来简单说一下。
- ASCII,这个字符集恐怕没有操作系统是不会支持的吧,从刚学计算机的时候就会学到这个编码了。这个是采用单字节的,也就是一个字符是一个字节。
- AL16UTF16,这个字符集是2字节版的UNICODE字符集,也就是说,所有字符都是占用2个字节。这个也是Oracle10g中唯一的一个2字节的字符集,所以如果要使用2字节的字符集,那么选择就是它了。
- UTF8,这个字符集字符可能是1到4字节,根据不同的字符有不同的长度。
- JA16SJIS,可变长的字符集,一般在日文数据库中常用。
- AL32UTF8,这个也是一个UNICODE字符集,不过字符长度是可变的。
总之,在使用数据库的时候,要清楚数据库用的字符集,这样才能精确计算出一些数据占用空间的大小。