使用数据库时,经常会遇到字符集的问题。
关于字符集,有3个要点,即本地环境、客户端、服务器端的字符集。
本地环境的字符集,就是你操作时所处的操作系统环境使用的字符集。如果你在简体中文windows下使用客户端,那本地环境就是GBK。即操作系统认为,自己接收到的数据都是使用的是GBK字符集,同时自己发送给程序的数据(就是键盘输入、打字等)都使用GBK字符集。如果是Linux操作系统,可使用locale查看当前所使用的字符集。
客户端字符集,就是客户端发送数据所使用的字符集,同时,客户端接收到其它程序或操作系统发送的数据时,若不明确告诉客户端此数据使用的是哪种字符集,客户端将会认为此数据所使用的字符集与客户端所使用的字符集相同(因不清楚接收到的数据使用的字符集,故无法作字符集转换),若指明了字符集,客户端就先将此数据的字符集转换为与客户端的字符集一样(如果相同就不用转),再作处理。
服务器端字符集,即数据存储所使用的字符集。与客户端字符集对数据的处理相同。
在实际使用时,一般不会更改本地环境的字符集,而是修改客户端字符集为本地环境的字符集,服务器端的字符集一般不用管(如上图所示)。
阅读(2450) | 评论(0) | 转发(0) |