学网站建设基础,绍兴网站建设哪家专业,网站推广专家十年乐云seo,建立网站设计1. 先来看看latin1 (参考百度百科)Latin1是ISO-8859-1的别名#xff0c;有些环境下写作Latin-1。ISO-8859-1编码是单字节编码#xff0c;向下兼容ASCII#xff0c;其编码范围是0x00-0xFF#xff0c;0x00-0x7F之间完全和ASCII一致#xff0c;0x80-0x9F之间是控制字符#…1. 先来看看latin1 (参考百度百科)Latin1是ISO-8859-1的别名有些环境下写作Latin-1。ISO-8859-1编码是单字节编码向下兼容ASCII其编码范围是0x00-0xFF0x00-0x7F之间完全和ASCII一致0x80-0x9F之间是控制字符0xA0-0xFF之间是文字符号。ISO-8859-1收录的字符除ASCII收录的字符外还包括西欧语言、希腊语、泰语、阿拉伯语、希伯来语对应的文字符号。欧元符号出现的比较晚没有被收录在ISO-8859-1当中。因为ISO-8859-1编码范围使用了单字节内的所有空间在支持ISO-8859-1的系统中传输和存储其他任何编码的字节流都不会被抛弃。换言之把其他任何编码的字节流当作ISO-8859-1编码看待都没有问题。这是个很重要的特性MySQL数据库默认编码是Latin1就是利用了这个特性。ASCII编码是一个7位的容器ISO-8859-1编码是一个8位的容器。2. 稍微再想想字符集是的不用纠结太多了如果数据库内表的字符集是latin1那么默认情况下中文也可被支持· latin1覆盖了所有单字节的值任何其他的码流都可以被看做latin1· 把一个gbk编码的串写入latin1的表不会有任何问题保存的是原封不动的字节流· 从表中读取已写入的串也不会有任何问题且读出的字节流就和当初写入的完全一致读取出来以后如果在终端下就会理解成locale类型(如果locale系gbk当时写入的gbk中文串可正常回显)读取出来以后如果要写入文件则文件编码方式即当时写入的字节流编码如gbk写入的读出存入文件后文件编码也是gbk但是如果混着写(utf-8 gbk)那编辑器就犯蒙了就可能会显示会有乱码。注: 纯文本文件大多无文件头编辑器是通过字节流自己识别编码方式和字符集的3. 综上建DB和访问DB时如果都采用默认的latin1那就不仅仅支持中文而是支持任意的编码方式附送几个数据库中文编码的经验教训1. 基于可维护的角度虽然latin1没什么问题但是还是尽量换成utf8或者gb系列2. 出现乱码时SHOW VARIABLES LIKE character%SHOW VARIABLES LIKE collation_%;a、要保证数据库中存的数据与数据库编码一致即数据编码与character_set_database一致b、要保证通讯的字符集与数据库的字符集一致即character_set_client, character_set_connection与character_set_database一致c、要保证SELECT的返回与程序的编码一致即character_set_results与程序编码一致d、要保证程序编码与浏览器、终端编码一致3. 要想简单一点的话就将各个字符集都设为一致的写入mysql的配置文件每次用客户端都设置一下字符集(set names xxx)写入和读取时要记得确保字节流的编码是ok的