Latin1和utf8(PHP如何将mysql中字符集latin1的数据写入另一个字符为utf8的数据库中而不显示乱码)

2024-08-18 01:20:07 :31

latin1和utf8(PHP如何将mysql中字符集latin1的数据写入另一个字符为utf8的数据库中而不显示乱码)

其实latin1和utf8的问题并不复杂,但是又很多的朋友都不太了解PHP如何将mysql中字符集latin1的数据写入另一个字符为utf8的数据库中而不显示乱码,因此呢,今天小编就来为大家分享latin1和utf8的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

本文目录

PHP如何将mysql中字符集latin1的数据写入另一个字符为utf8的数据库中而不显示乱码

《?phpmysql_connect(’localhost’,’root’,’’);mysql_select_db(’xx’);mysql_query("set names utf8");//转换字符集?》 汗,没看到后面的话,上面当我没说怎么说你原库不能动。你数据用PHP显示出来是不是乱码,这个才问题不是。。。你瞎折腾啥子。这是数据库问题。

mysql latin1 支持中文吗

mysqllatin1数据库支持中文编码。

ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF,0x00-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位的容器。

如果数据库内表的字符集是latin1,那么默认情况下中文也可被支持,latin1覆盖了所有单字节的值,任何其他的码流都可以被看做latin1。

把一个gbk编码的串写入latin1的表,不会有任何问题,保存的是原封不动的字节流,从表中读取已写入的串也不会有任何问题,且读出的字节流就和当初写入的完全一致。

读取出来以后,如果在终端下,就会理解成locale类型(如果locale系gbk,当时写入的gbk中文串可正常回显)

读取出来以后,如果要写入文件,则文件编码方式即当时写入的字节流编码,如gbk写入的,读出存入文件后,文件编码也是gbk!但是如果混着写(utf-8+gbk),那器就犯蒙了,就可能会显示会有乱码。

纯文本文件大多无文件头,器是通过字节流自己识别编码方式和字符集的

总结,建DB和访问DB时如果都采用默认的latin1,那就不仅仅支持中文,而是支持任意的编码方式。

扩展资料:

数据库中文编码的注意事项:

1.基于可维护的角度,虽然latin1可用,但是还是尽量换成utf8或者gb系列;

2.出现乱码时:

SHOWVARIABLESLIKE'character%'SHOWVARIABLESLIKE'collation_%';

要保证数据库中存的数据与数据库编码一致,即数据编码与character_set_database一致;要保证通讯的字符集与数据库的字符集一致,即character_set_client,character_set_connection与character_set_database一致;

要保证SELECT的返回与程序的编码一致,即character_set_results与程序编码一致;要保证程序编码与浏览器、终端编码一致

要想简单一点,将各个字符集都设为一致的,写入mysql的配置文件,每次用客户端都设置一下字符集(setnames'xxx'),写入和读取时要记得确保字节流的编码是正确的。

参考资料:百度百科-数据库

mysql latin1 utf8区别 那个比较强大

这是两种不同的编码,因为字节数的关系,有些国家的语言不能用latin1显示,所以一般使用utf8编码,utf8是万国语言编码,既绝大多数国家的语言都可以用utf8

关于latin1和utf8和PHP如何将mysql中字符集latin1的数据写入另一个字符为utf8的数据库中而不显示乱码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

latin1和utf8(PHP如何将mysql中字符集latin1的数据写入另一个字符为utf8的数据库中而不显示乱码)

本文编辑:admin
Copyright © 2022 All Rights Reserved 威海上格软件有限公司 版权所有

鲁ICP备20007704号

Thanks for visiting my site.