一、lampp环境下的数据库乱码问题

问题描述:

在做mysql练习的时候发现新创建的数据库中插入数据表中的记录中文出现乱码的问题,如下图:

经过多方查证,整里如下文挡:

前提:

我自己的环境是使用的lampp下的mysql,该配置文件是在/opt/lampp/etc/my.cnf;如果是自己安装的mysql,那么配置文件一般都在/etc/my.cnf

解决办法:

1、首先进入msyql,然后使用show variables like 'character%' ,执行编码显示,可以看到如下图所示:

默认的是客户端和服务器都用了latin1,所以会乱码。

2、修改/opt/lampp/etc/my.cof文件

[client]
#password = your_password
port = 3306
socket = /opt/lampp/var/mysql/mysql.sock
default-character-set=utf8 //添加该语句 [mysqld]
user = mysql
port=3306
socket = /opt/lampp/var/mysql/mysql.sock
skip-external-locking
key_buffer = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
character_set_server=utf8 //添加该语句 [mysql]
no-auto-rehash
default-character-set=utf8 //添加该语句

在mysql,mysqld,client下分别添加如上语句

注意:如果修改后不能启动报错试试把default-character-set=utf8改为character_set_server=utf8;我这里遇到了该问题,所以去掉了default后就正常了 ,脚本中没有使用default-character-set=utf8。
3、使用命令drop database 数据库名,删除创建的数据库

4、重启mysql的服务:/opt/lampp/lampp restart

5、重新创建数据库及表结构,再次插入数据即可正常使用,如下图:

方法2:

网上还有另外一种使用SQL语句修改编码值的,但是我试了一下,通过SQL语句是可以修改编码值,但是重启mysql服务后还是会变回原来的值,而且即便使用SQL语句修改过来后在重新创建数据表在插入数据还是会产生乱码(也可能哪里操做不对,但是不我提倡这么修改)

使用SQL语句修改的方法:

1、首先进入mysql,然后在mysql下执行如下语句:

SET character_set_database = utf8;
SET character_set_server = utf8;

2、使用命令show variables like 'character%' ,执行编码显示,可以看到如下图所示:

3、在使用create database test;创建数据库,在该库中创建数据表,然后在插入数据,查看是否正常!

二、linux下yum自动安装MySQL乱码问题解决办法

******************************************************************************************************************************************************

如果使用yum方法自动安装的MySQL服务,则MySQL的配置文件是在/etc/my.cnf;修改该文件的时候可能出现该文件中只有[mysqld]、[mysqld_safe],如果我们只是在mysqld下边加入

default-character-set=utf8,无法将所有的选项都修改为utf8的格式,如下图:

所以这里我们需要在my.cnf文件下手动配置[client]选项并在该选项下加入:default-character-set=utf8即可,如下图:

添加完成后重启MySQL的服务,然后在重新创建数据库和数据表,之后在使用第三方管理工具连接就不会出现乱码的问题了,如下图。

总之遇到乱码的问题,可以通过show variables like 'character%' ; 该命令进行查看,将字符集设置成utf8后基本都会解决掉。

*******************************************************************************************************************************************************

参考文档:

http://www.pc6.com/infoview/Article_63586.html

http://blog.csdn.net/mengzhengjie/article/details/50040527

linux下插入的mysql数据乱码问题及第三方工具显示乱码问题的更多相关文章

  1. linux下如何安装mysql和redis

    linux下如何安装mysql(mariadb) linux下如何安装软件? 1. yum安装软件也得注意,一个是配置yum源 1.我们当前的是阿里云的yum源(下载速度特别快) 通过 yum ins ...

  2. Linux下定时备份MySQL数据库的Shell脚本

    Linux下定时备份MySQL数据库的Shell脚本   对任何一个已经上线的网站站点来说,数据备份都是必须的.无论版本更新还是服务器迁移,备份数据的重要性不言而喻.人工备份数据的方式不单耗费大量时间 ...

  3. Linux下mongodb安装及数据导入导出教程

    Linux下mongodb安装及数据导入导出教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 一.Linux下mongodb安装的一般步骤 1 ...

  4. Linux下yum安装MySQL

    写这篇文章的原因是:在刚开始使用Linux操作系统时想要搭建LAMP环境,于是开始在Google和百度上各种寻找资料,碰到了不是很多的问题后,我决定写这篇文章总结一下在Linux下yum安装MySQL ...

  5. Linux下Rsync+sersync实现数据实时同步

    inotify 的同步备份机制有着缺点,于是看了sersync同步,弥补了rsync的缺点.以下转自:http://www.osyunwei.com/archives/7447.html 前言: 一. ...

  6. (转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记

    Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记 Linux下配LMAP环境,花了我好几天的时间.之前没有配置过,网上的安装资料比较混乱,加上我用的版本问题,安装过程 ...

  7. linux下如何查看mysql、apache是否安装,并卸载

    --linux下如何查看mysql.apache是否安装,并卸载? http://blog.163.com/dengxiuhua126@126/blog/static/1186077720137311 ...

  8. Linux下自动备份MySQL数据库并上传到远程FTP服务器

    Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本 说明:  1.备份MySQL数据库存放目录/var/lib/mysql下面的xshelldata数据库 ...

  9. linux下彻底卸载mysql 图解教程

    linux下彻底卸载mysql 图解教程 1.查找以前是否装有mysql 命令:rpm -qa|grep -i mysql可以看到如下图的所示: 说明之前安装了:MySQL-client-5.5.25 ...

随机推荐

  1. MyEclipse文本对比界面样式修改

    MyEclipse刚安装好,使用文件对比的时候,发现两边的对比颜色非常浅,不同的地方不容易发现,可以通过以下配置将显示颜色调深一点. 配置 效果

  2. 如何从TFS(Visual Studio Team Foundation Server)映射下载本地文件夹

    1.连接tfs项目 首先打开vs2017 ——>工具栏 中的   团队——> 选择团队的管理链接 2.选择管理工作区 显示管理工作区的弹窗,点击 编辑  显示弹窗,选择本地文件夹(即要保存 ...

  3. Postman接口&压力测试

    Postman接口与压力测试实例 Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件.它提供功能强大的 Web API & HTTP 请求调试. 1.环境变量和全局 ...

  4. springMVC源码分析--HttpMessageConverter参数read操作(二)

    上一篇博客springMVC源码分析--HttpMessageConverter数据转化(一)中我们简单介绍了一下HttpMessageConverter接口提供的几个方法,主要有以下几个方法: (1 ...

  5. KnockoutJs学习笔记(二)

    这篇文章主要用于记录学习Working with observable arrays的测试和体会. Observable主要用于单一个体的修改订阅,当我们在处理一堆个体时,当UI需要重复显示一些样式相 ...

  6. .NetCore读取配置Json文件到类中并在程序使用

    ConfigurationBuilder 这个类提供了配置绑定,在dnc中 Program中WebHost提供了默认的绑定(appsettings文件) 如果我们需要加载我们自己的json配置文件怎么 ...

  7. linux 101 hacks 7crontab

    技巧 74: crontab 书上的这一段我删了,重写一下,用的是ubuntu 16.04系统 参考 每天一个 linux 命令(50):crontab 命令 crond 服务 安装 crontab: ...

  8. 【51nod】1709 复杂度分析

    题解 考虑朴素的暴力,相当于枚举u点的每个祖先f,然后统计一下这个点f除了某个儿子里有u的那个子树之外的节点个数,乘上f到u距离的二进制1的个数 那么我们用倍增来实现这个东西,每次枚举二进制的最高位j ...

  9. 【POJ】2449.Remmarguts' Date(K短路 n log n + k log k + m算法,非A*,论文算法)

    题解 (搬运一个原来博客的论文题) 抱着板题的心情去,结果有大坑 就是S == T的时候也一定要走,++K 我发现按照论文写得\(O(n \log n + m + k \ log k)\)算法没有玄学 ...

  10. USACO 5.5 Hidden Password

    Hidden Password ACM South Eastern Europe -- 2003 Sometimes the programmers have very strange ways of ...