热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysql保存中文乱码的原因和解决办法

当你遇到这个mysql保存中文乱码问题的时候,期待找到mysql保存中文乱码的原因和解决办法这样一篇能解决问题的文章是多么激动人心。也许30%的程序员会选择自己百度,结果发现网友已经贴了很多类似mysql中文乱...SyntaxHighlighter.all();

当你遇到这个mysql保存中文乱码问题的时候,期待找到mysql保存中文乱码的原因和解决办法这样一篇能解决问题的文章是多么激动人心。
 
  也许30%的程序员会选择自己百度,结果发现网友已经贴了很多类似mysql 中文乱码、php mysql 中文乱码、mysql5.5中文乱码、mysql 乱码、mysql乱码问题、mysql jsp 乱码、mysql jdbc 乱码、mysql 查询乱码、mysql 导入数据乱码等一系列问题,到底哪个是自己要找的能解决自己问题的呀?15%的程序员一看就懵了,剩下15%的程序员自己摸索或求教别人了。70%的程序员干脆不干了,干不动咱还是程序员,这种浪费生命的事情让别人干去把,呵呵。
 
其实mysql的乱码问题,说复杂也非常地负责,说简单简单的不行!区别就在于明白mysql乱码的本质原因,本文就从这个角度目的让煞笔程序员都掌握如何处理这个乱码问题。
  (1)网站本身的编码。这不多说了,自己看看设置对了没,比如我设置的GBK就检查下编码是不是GBK。(一般通过文件右击属性来看,或建立工程的时候来统一设置)
 
  (2)数据库连接字符串的编码。比如java中我连接mysql的相关语句如下:
 public static String driverName = "com.mysql.jdbc.Driver";
 public static String userName = "root";
 public static String userPasswd = "123456";
 public static String dbName = "myBook";
 public static String url = "jdbc:mysql://localhost/" + dbName + "?user="
 + userName + "&password=" + userPasswd
 + "&useUnicode=true&characterEncoding=GBK";
。。。。。
Class.forName(driverName).newInstance();
cOnnection= (Connection) DriverManager.getConnection(url);
如上面的代码中,加粗的就是我要说的部分,可以设置为你想要的字符串类型,这里设置的是GBK,这仅仅是java语言的示例,其他语言asp、php原理是一样的都有这样的数据库字符串链接关于字符集的配置,不会就查查手册或百度一下,这个很容易找到,如果百度还找不到,那360干他也对。
 
  (3)mysql的字符集设置。
  这个是重点了,一般都是在这里搞错而出现了mysql乱码。
  mysql编码设置可以分为三种设置:数据库的编码、表的编码、和字段的编码。
  a、数据库的编码:
  在sqlyog工具中操作把,右击数据库点击更改数据库,如图
 
 \
\
 
设置就可以了,煞笔不煞笔,简单不简单。
  b、表的编码:
  mysql很扯淡的是,表级别也设置了编码,说说咋设置把
 
\
 
右击要修改编码的表,点击更改表如上图,点了以后如下图:
 \

  点高级属性,表的字符编码设置很煞笔很简单,看到了把。记得修改完毕后,一定要点击Alter才行呀!这个按钮很容易被忽略,操蛋的sqlyog呀!
  c、字段的编码:
  mysql确实很扯淡,字段都有编码设置,还是上面的更改表,不过不点高级属性了。看图:
 
\

坑爹的默认不显示,对就是在右下角呢!看到了把,把对号取消把,取消后你看到了下图:
 
\

  终于看到了字段后面跟的字符编码设置,他奶奶的熊,终于都找全了。设置把。记得修改完毕后,一定要点击Alter才行呀!这个按钮很容易被忽略,操蛋的sqlyog呀!
 
 最后再出一个绝招把:
 SHOW CREATE TABLE 表名
CREATE TABLE `wen` (
  `id` int(8) DEFAULT NULL,
  `bookid` int(8) DEFAULT NULL,
  `title` varchar(200) COLLATE gbk_bin DEFAULT NULL,
  `content` longtext COLLATE gbk_bin
) ENGINE=InnoDB DEFAULT CHARSET=gbk COLLATE=gbk_bin CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC
 

推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 推荐一个ASP的内容管理框架(ASP Nuke)的优势和适用场景
    本文推荐了一个ASP的内容管理框架ASP Nuke,并介绍了其主要功能和特点。ASP Nuke支持文章新闻管理、投票、论坛等主要内容,并可以自定义模块。最新版本为0.8,虽然目前仍处于Alpha状态,但作者表示会继续更新完善。文章还分析了使用ASP的原因,包括ASP相对较小、易于部署和较简单等优势,适用于建立门户、网站的组织和小公司等场景。 ... [详细]
  • 本文讨论了同事工资打听的话题,包括同工不同酬现象、打探工资的途径、为什么打听别人的工资、职业的本质、商业价值与工资的关系,以及如何面对同事工资比自己高的情况和凸显自己的商业价值。故事中的阿巧发现同事的工资比自己高后感到不满,通过与老公、闺蜜交流和搜索相关关键词来寻求解决办法。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
author-avatar
张丽君2502934023
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有