首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL字符集中文乱码剖析

原理篇 字符集介绍 为了解释上述问题,首先要了解字符集为何物。字符集也叫字符编码,就是将字符集合一一映射成一个数。...不同编码,字符集合不完全一样,存在某字符集的字符无法映射到另外一个字符集。 比如gbk编码中的中文字符,转成latin-1编码时,就找不到对应的二进制编码。...MySQL做字符集转换的时候,gbk中文字符->latin-1,很多就转成'?'号(0x3f),这种大集合转成小集合,基本是不可逆的。...终端显示字符集 此外如果你用securecrt终端来显示的话,如果不想乱码的话,appearance->character encoding也需要设置成正确的字符集。...其实很简单,表创建的字符集和set names都设置成同一个字符集,就基本可以满足输入数据不会在转换过程中失真,也就是说输入是什么,输出就是什么。建议有中文的都设置成utf8字符集,一劳永逸。

4.1K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    CentOS7及Docker配置中文字符集问题

    作者:willblog,原文:https://blog.csdn.net/networken/article/details/97951173 说明 Linux系统默认使用英文字符集,不会安装中文字符集等其他字符...查看当前字符集 $ echo $LANG en_US.UTF-8 安装字符集 使用locale命令看看当前系统所使用的字符集 $ locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF...LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= 查看系统是否安装中文字符集支持...如果按照以上方法设置修改设置中文语言还是不行,注意SSH终端选择的编码,如xshell为例,把终端的编码选择中文,或者UTF8即可。...kde-l10n-Chinese yum reinstall -y glibc-common localedef -c -f GB18030 -i zh_CN zh_CN.GB18030 #验证成功加载中文语言包

    6.8K30

    字符集

    常见的编码方式有 ASCII 编码、ISO-8859-1(不支持中文)、GBK、GB2312(中国编码,支持中文)、UTF-8 等等,详情见表 1。...GB18030 编码GB18030-2005《信息技术中文编码字符集》是我国自主研制的以汉字为主并包含多种我国少数民族文字(如藏、蒙古、傣、彝、朝鲜、维吾尔文等)的超大型中文编码字符集强制性标准,其中收入汉字...70000 余个,解决了中文、日文、朝鲜语等的编码,兼容 GBK。...由此我们就明白了为什么中文默认使用 GB1832 而不使用 UTF-8?因为 GB1832 对绝大多数中文采用双字节编码,而 UTF-8 要用三字节,GB11832 大大节省了存储空间。...在 Windows 系统中,ANSI 编码一般代表系统默认的编码方式,并且不是确定的某一种特定编码方式,比如在英文 Windows 操作系统中,ANSI 指的是 ISO-8859-1;简体中文操作系统中

    1.7K10

    MySQL字符集

    MySQL之字符集 字符集介绍 gbk/gb2312 gbk/gb2312 采用双字节字符集,不论中、英文字符均使用双字符来表示,为了区分中文,将其最高位都设定成1 gb2312是gbk的子集,gbk...是gb18030的子集,gb2312仅能存储简体中文字符 gbk包括中日韩字符的大字符集 通常使用gbk字符集足够 国际通用性比utf8差,不过utf8占用的数据库比gbk大(utf8是三字节字符集)...、gb2312等字符集与utf8之间都必须通过Unicode编码才能相互转换 字符集使用建议 1、非常肯定只有中文终端用户时,可选择gbk / gb2312 2、为了方便数据迁移、以及多种终端展示...存储空间:char(N)类型的存储空间和字符集有关系,结合刚才字符集的知识点,一个中文在utf8字符集中占用3个bytes、gbk占用2个bytes、数字和字符统一用一个字符表示。...存储空间:varchar(N)类型的存储空间和字符集有关系,结合刚才字符集的知识点,一个中文在utf8字符集中占用3个bytes、gbk统一占用2个bytes、数字和字符一个字符表示。

    3.6K10

    java字符集

    (中文平台默认字符集编码GBK)下一个中文字符占2个字节,而英文平台(英文平台默认字符集编码Cp1252(类似于ISO-8859-1))。...在中文平台下,如果指定的字符集编码是UTF-8,那么按照UTF-8对中文的编码规则:每个中文用3个字节表示,那么"中文"这两个字符最终被编码成:-28 -72 -83、-26 -106 -121两组。...在中文平台下,如果指定的字符集编码是ISO-8859-1,由于此字符集是单字节编码,所以使用getBytes("ISO-8859-1")时,每个字符只取一个字节,每个汉字只取到了一半的字符。...在中文平台下,默认的字符集编码是GBK,于是content.getBytes()得到的是什么呢?...结论:相同的平台下,同一个中文字符,在不同的编码方式下,得到的是完全不同的字节数组。这些字节数组有可能是正确的(只要该字符集支持中文),也可能是完全错误的(该字符集不支持中文)。

    2.1K50

    Linux下MySQL的彻底卸载和安装配置字符集

    前言: Linux环境下MySQL的安装和配置在网上已经有很多教程了。之所以写这篇文章是因为在配置字符集的时候找了网上的一些教程发现并不能用导致折腾了一阵子。下面的教程均是亲自实践。...最简单的安装方式就是命令行方式,依次输入一下代码即可: 1 sudo apt-get install mysql-server2 3 sudo apt-get install mysql-client MySQL字符集的配置...首先我们在终端打开mysql: 1 mysql -uroot -p 然后输入密码即可进入mysql 然后我们输入下面的查询语句来查看默认的字符集设置: 1 show variables like '%...接下来进入mysql,再来看一下字符集设置: ? 可以看到除了system之外均该为了utf8. 注意 改字符集之前建立的数据库内的数据仍是中文乱码,这时我们备份一下数据新建即可。

    1.7K70

    字符集详解

    其他常见的字符集包括: GB2312字符集 GB2312是中国国家标准的汉字字符集,包括了简体中文字符集,总计有6763个汉字。该字符集是GB18030字符集的前身,主要用于简体中文的处理。...BIG5字符集 BIG5是中国台湾省使用的汉字字符集,总计有13053个汉字。BIG5也被广泛用于繁体中文的处理。 GB18030字符集 GB18030是中国国家标准的汉字字符集,是目前最新的版本。...它包括了简体中文字符集、繁体中文字符集以及少数民族文字符集,总计有70244个汉字。GB18030字符集被广泛应用于中文信息处理领域。...Unicode字符集 Unicode是一种通用的字符集,旨在包含全世界所有语言的字符。它包括了多种不同语言的字符,包括中文、英文、日文、韩文等。...多字节字符集 多字节字符集是指每个字符占用多个字节的字符集,如UTF-8、UTF-16等。这种字符集可以表示多种语言字符,包括中文、日文、韩文等。

    13810
    领券