MYSQL中的Latin1字符究竟是什么呢拾荒者

MYSQL中的Latin1字符究竟是什么呢拾荒者,第1张

MYSQL中的Latin1字符究竟是什么呢

Latin1是ISO-8859-1的别名,有些环境下写作Latin-1。

ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCII一致,0x80-0x9F之间是控制字符,0xA0-0xFF之间是文字符号。

直接修改数据库中这个表里面字段的编码,改成utf-8类型,就可以存储和读取中文了,alter table 表名 change 字段名 字段名 varchar() character set utf8 not null。

中文不管用什么字符集来表示(GBK\GB2312\UTF8等),最终都是字节的整数倍,而latin1或者说ISO-8859-1就是满8byte(整字节)的编码方式。无论你传多少个字节进去,mysql都可以认为它是一个或者多个latin字符而已。是不是乱码取决于读出来之后的解码方式,或者说客户端的处理方式。客户端如果知道读出来的是中文,那么就会按照中文的方式来尝试解码,自然就得不到乱码,如果按照其它编码方式来解码,自然就可能是乱码。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/6122200.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-15
下一篇2023-03-15

发表评论

登录后才能评论

评论列表(0条)

    保存