合肥网站建设网站,精美网页,浪味仙儿 wordpress,如何网站做百度推广转自Agoly的博客#xff0c;原文链接https://www.cnblogs.com/qmfsun/p/4846467.html 感谢博主Agoly这篇文章说的很详细很透彻。 MySQL会出现中文乱码的原因不外乎下列几点#xff1a;1.server本身设定问题#xff0c;例如还停留在latin1 2.table的语系设定问题(包含charact…转自Agoly的博客原文链接https://www.cnblogs.com/qmfsun/p/4846467.html 感谢博主Agoly这篇文章说的很详细很透彻。 MySQL会出现中文乱码的原因不外乎下列几点1.server本身设定问题例如还停留在latin1 2.table的语系设定问题(包含character与collation) 3.客户端程式(例如php)的连线语系设定问题 强烈建议使用utf8utf8可以兼容世界上所有字符 第一步找到安装mysql的目录找到 my.ini 文件 第二步使用记事本打开my.ini文件 找到这个地方 看看default-character-set 是不是 utf8不是的话 改为utf8即可以前的版本可能没有这句话 直接加上就好了 # MySQL client library initialization. [client] port3306 [mysql] default-character-setutf8 第三步在mysql数据库cmd中输入show variables like%char%; 第四步改变原有数据库的编码方式 1 2 3 4 set character_set_databaseutf8; set character_set_serverutf8; set character_set_clientgb2312; set character_set_connectiongb2312; 第五步改变后的编码方式 第六步查看查询结果 第六步插入中文数据试试ok是可以插进去的 第七步解决select * from table时的乱码其实只用到第四部和第七部 把上面的编码方式改变 set character_set_resultsgb2312; 就可以正常显示 关于GBK、GB2312、UTF8UTF- 8Unicode Transformation Format-8bit允许含BOM但通常不含BOM。是用以解决国际上字符的一种多字节编码它对英文使用8位即一个字节中文使用24为三个字节来编码。UTF-8包含全世界所有国家需要用到的字符是国际编码通用性强。UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示。如如果是UTF8编码则在外国人的英文IE上也能显示中文他们无需下载IE的中文语言支持包。 GBK是国家标准GB2312基础上扩容后兼容GB2312的标准。GBK的文字编码是用双字节来表示的即不论中、英文字符均使用双字节来表示为了区分中文将其最高位都设定成1。GBK包含全部中文字符是国家编码通用性比UTF8差不过UTF8占用的数据库比GBD大。 GBK、GB2312等与UTF8之间都必须通过Unicode编码才能相互转换GBK、GB2312UnicodeUTF8UTF8UnicodeGBK、GB2312 对于一个网站、论坛来说如果英文字符较多则建议使用UTF8节省空间。不过现在很多论坛的插件一般只支持GBK。 GB2312是GBK的子集GBK是GB18030的子集GBK是包括中日韩字符的大字符集合如果是中文的网站 推荐GB2312 GBK有时还是有点问题为了避免所有乱码问题应该采用UTF-8将来要支持国际化也非常方便UTF-8可以看作是大字符集它包含了大部分文字的编码。使用UTF-8的一个好处是其他地区的用户如香港台湾无需安装简体中文支持就能正常观看你的文字而不会出现乱码。 gb2312是简体中文的码gbk支持简体中文及繁体中文big5支持繁体中文utf-8支持几乎所有字符 首先分析乱码的情况 MySQL中涉及的几个字符集 character-set-server/default-character-set服务器字符集默认情况下所采用的。character-set-database数据库字符集。character-set-table数据库表字符集。优先级依次增加。所以一般情况下只需要设置character-set-server而在创建数据库和表时不特别指定字符集这样统一采用character-set-server字符集。character-set-client客户端的字符集。客户端默认字符集。当客户端向服务器发送请求时请求以该字符集进行编码。character-set-results结果字符集。服务器向客户端返回结果或者信息时结果以该字符集进行编码。在客户端如果没有定义character-set-results则采用character-set-client字符集作为默认的字符集。所以只需要设置character-set-client字符集。 要处理中文则可以将character-set-server和character-set-client均设置为GB2312如果要同时处理多国语言则设置为UTF8。 关于MySQL的中文问题 解决乱码的方法是在执行SQL语句之前将MySQL以下三个系统参数设置为与服务器字符集character-set-server相同的字符集。character_set_client客户端的字符集。character_set_results结果字符集。character_set_connection连接字符集。设置这三个系统参数通过向MySQL发送语句set names gb2312 转载于:https://www.cnblogs.com/wentirensheng/p/10663364.html