字符分为英文字符和中文字符,这两种字符的存储方式不同。
计算机只能读懂二进制码,即0和1。计算机里的程序都是转换为0、1进行运算的。但二进制码对人类很不友好,每一个操作都需要输入一长串值包含0、1的数字,可读性差,难记,而且容易写错。因而,人们开发了编码方式,专门把人类的自然语言和计算机的二进制语言想对应。程序员只要用自然语言编写出代码,计算机里的编码方式就能自动把自然语言转成二进制语言,供计算机执行程序。
其中,英文字符的存储有两种编码方式为:ASCII和Latin-1。
ASCII:总共有128个,对所有的英文字母和符号进行了编码。
Latin-1:总共有256个,兼容ASCII,同时对欧洲符号进行了编码。
中文字符存储的编码方式有:GB2312、GBK、BIG5和Unicode。
GB2312:对六千多常用的汉字进行了编码,兼容ASCII。
GBK:对两万多汉字进行了编码,兼容GB2312。
BIG5:台湾繁体字编码,兼容ASCII。
Unicode:对世界上主要国家的主流语言进行了编码,兼容ASCII不兼容GBK,BIG5等,具体分为UTF-8,UTF-16,UTF-32三种存储方法。
补充:mysql默认使用Latin-1编码,与我们熟悉的UTF-8编码不同,会使得mysql中出现中文乱码。只需在脚本文件中设置客户端连接服务器端的编码为UTF-8,在服务器端创建数据库的时候设置编码为UTF-8即可。