处理linux下面的mysql乱码问题(下面的utf8换成gb2312也是可以的)

有时候因为编码需要修改mysql的编码,windows下修改有图文界面简单一些,linux大家就可以参考下面的方法

默认登录mysql之后可以通过SHOW VARIABLES语句查看系统变量及其值。

  mysql> show variables like ‘%character%‘;

说明:以下是在CentOS-6.2下的设置 (不同的版本可能有些差异,比如文件的位置。但设置的内容应该是一样的)

1. 找到mysql的配置文件,拷贝到etc目录下,第一步很重要

  把/usr/share/doc/mysql-server-5.1.52/my-large.cnf 复制到 /etc/my.cnf

  即用命令:cp /usr/share/doc/mysql-server-5.1.52/my-large.cnf  /etc/my.cnf

2. 打开my.cnf修改编码

  在[client]下增加default-character-set=utf8

  在[mysqld]下增加default-character-set=utf8

  同时加上init_connect=‘SET NAMES utf8‘ (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)

3.重新启动mysql

  service mysqld restart

  再次输入show variables like ‘%character%‘;

  即使做了以上修改如果直接数据库再创建表,然后存入中文,取出来的会是问号。解决的办法是:创建数据库的时候指明默认字符集为utf8,如:

  create database test default character set utf8;

时间: 2024-11-03 21:13:29

处理linux下面的mysql乱码问题(下面的utf8换成gb2312也是可以的)的相关文章

Linux下修改MySQL数据库字符编码为UTF-8解决中文乱码

由于MySQL编码原因会导致数据库出现乱码. 解决办法: 修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码. 具体操作: 1.进入MySQL控制台 >mysql -uroot -p #输入密码进入 >status; #查看当前MySQL运行状态,如下图所示: 2.修改mysql配置文件 [[email protected] ~]# vi /etc/my.cnf #在[client]段增加下面代码 default-character-set=utf

linux在虚拟机中把网卡模式从NAT换成桥接无法显示网卡

linux centos6.5在虚拟机中把网卡模式从NAT换成桥接无法显示网卡 今天在虚拟机中装完系统,使用ifconfig查看了下网卡的地址,发现不是局域网中的,后来检查发现是虚拟机设置成了NAT,所以就立即把NAT换成桥接模式但是出现了一下状况: 1.使用ifconfig显示如下信息 又使用dhclient来自动获取: 这下还是没有地址,重启了网络服务 /etc/init.d/network restart 2.使用vi命令来打开网卡配置配置信息,然后把ONBOOT=no改成ONBOOT=y

linux下的mysql乱码问题

1,承接上一随笔,因为我用的是rmp的两种反式. rpm -ivh MySQL-server-4.0.14-0.i386.rpm rpm -ivh MySQL-client-4.0.14-0.i386.rpm 我发现在我的linux下/etc/目录下面没有我my.cnf文件.这听说是我用了这种方式安装mysql的问题 于是: [[email protected] etc]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf 并在my.cnf的[clien

CentOS(Linux)中解决MySQL乱码

环境:CentOS 6.3.mysql5.1 Centos 6.3在上安装mysql client和server之后,出现乱码,不得不修改编码. 注意: 关于utf8和gbk的区别详细见:linux中文乱码问题解决办法 http://www.linuxidc.com/Linux/2010-04/25757.htm ,下面的配置中根据自己要求选择两种编码. 解决步骤: 1. 找到mysql的配置文件,拷贝到/etc目录下,第一步很重要 使用find命令查找cnf文件.记得不要去找my.cnf因为它

CentOS下安装MySQL,Windows下使用Navicat for MySql连接

安装 查看有没有安装过:          yum list installed mysql*          rpm -qa | grep mysql* 查看有没有安装包:          yum list mysql* 安装mysqlclient:          yum install mysql 安装mysql server端:          yum install mysql-server          yum install mysql-devel 启动&&停止

linux下修改mysql数据库编码后无法启动解决办法

linux下老版本的Mysql修改数据库编码的方法是 修改my.cnf vi /etc/my.cnf 在[client]下添加 default-character-set=utf8 在[mysqld]下添加 default-character-set=utf8 在新的版本中如果这样修改的话,会造成无法启动的错误,结果方法是 在[mysqld]下把default-character-set=utf8换成 重启mysql可以使用 sudo /etc/init.d/mysql restart 注意修改

linux shell命令行下操作mysql 删除mysql指定数据库下的所有表--亲测成功百分百测试通过--绝对可靠

1,在shell提示符下查看mysql指定数据库下的表等数据 2.批量删除mysql下指定数据库下的所有表,Ruiy完成绝对测试---通过Pass for tb in `echo "use se;show tables" | mysql -p321`;do mysql -e "drop table se.$tb" -p321;done 再进一步的完整语句为,过滤掉那个Tables_in_DBName for tb in `echo "use se;show

MySQL乱码的解决方案

首先,输入命令: show variables like "character_set_%"; 查看下输出,中文的话,只要是这样的结果就可以了: 要这样的结果,通常要如下配置: 更改my.ini下面的[mysql]和[mysqld]下的“default-character-set=gb2312”. 同时在建库,建表的时候设置utf8. 然后重启MYSQL服务: 停止:输入 net start mysql 启动:输入 net stop mysql 我是经过上面的调整就可以了: 是不是这个

Xampp Mysql 乱码

看了不少文章,大多数只是讲怎么操作,不涉及原理,很是失望,就像无头苍蝇一样乱撞. 首先看下php+Mysql+Apache环境下涉及到的字符集: 介绍数据库内部存储字符集: “数据库内部存储字符集”是指数据在数据库中以何种编码进行存储.包括三种粒度的字符集:服务器字符集.数据库字符集和数据库表字符集.这三种字符集的优先级依次升高,数据库表字符集的优先级大于数据库字符集大于服务器字符集. character_set_server/default_character_set指的是服务器字符集:cha