文档章节

linux下mysql中文乱码(中文问号)解决办法

秦学强
 秦学强
发布于 2017/07/09 22:04
字数 498
阅读 8
收藏 0
点赞 0
评论 0
今天发现我mysql插入中文时老出现????号了,但保存英文是没有问题的,下面我来给各位同学介绍一下linux下mysql中文乱码解决方法。

linux下则需要修改/etc/my.cnf,在[mysqld]下加入default-character-set = utf8,[client]下加入default-character-set = utf8,在[mysql]字段里加入default-character-set=utf8

实现:
1.查看原编码

 代码如下  
mysql> show variables like 'character%'; //执行编码显示,可以看到默认是latin1
+--------------------------+----------------------------+ 
| Variable_name | Value | 
+--------------------------+----------------------------+ 
| character_set_client | latin1 | 
| character_set_connection | latin1 | 
| character_set_database | latin1 | 
| character_set_filesystem | binary | 
| character_set_results | latin1 | 
| character_set_server | latin1 | 
| character_set_system | utf8 | 
| character_sets_dir | /usr/share/mysql/charsets/ | 
+--------------------------+----------------------------+  

2.修改/etc/my.cnf,分别在[client],[mysqld],[mysql]字段里添加default-character-set=utf8。注意[mysqld]字段与[mysql]字段是有区别的。这点在网上没人反馈过。

# vim /etc/my.cnf  //添加default-character-set=utf8

 代码如下  

[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8

[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
character-set-server=utf8

[mysql]
no-auto-rehash

default-character-set=utf8修改完成后,service mysql restart重启mysql服务器,使用SHOW VARIABLES LIKE ‘character%’;查看,发现数据库编码全已改成utf8

 代码如下  
mysql> show variables like 'character%';    
+--------------------------+----------------------------------------+
| Variable_name            | Value                                  |
+--------------------------+----------------------------------------+
| character_set_client     | utf8                                   |
| character_set_connection | utf8                                   |
| character_set_database   | utf8                                   |
| character_set_filesystem | binary                                 |
| character_set_results    | utf8                                   |
| character_set_server     | utf8                                   |
| character_set_system     | utf8                                   |
| character_sets_dir       | /usr/local/mysql/share/mysql/charsets/ |
+--------------------------+----------------------------------------+ 

3.如果上面的都修改了还乱码,那剩下问题就一定在connection连接层上。解决方法是在发送查询前执行一下下面这句(直接写在SQL文件的最前面):

 代码如下  

SET NAMES ‘utf8′;

它相当于以下三指令:

 代码如下  
SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;

附录:
朋友的一个站点转到我这边。导入mysql时,mysql还是latin的编码,因此,虽然按上面的步骤,在/etc/my.cnf文件中[client],[mysqld],[mysql]字段里添加default-character-set=utf8,但站点部分中文是乱码。在将mysql编辑改为utf8再重新导入数据库后,就正常了。
估计是mysql是latin编码是,导入数据时,因为mysql无法识别,直接将数据保存成了???这种乱码的形式了

本文转载自:http://blog.csdn.net/u014481096/article/details/51790167

共有 人打赏支持
秦学强

秦学强

粉丝 0
博文 69
码字总数 0
作品 0
海淀
程序员
Linux下Tomcat向MySQL插入数据中文乱码解决办法

Linux下Tomcat向MySQL插入数据中文乱码解决办法 一、问题 在windows上面使用eclipse开发的项目在windows上面运行一切正常,部署到腾讯云时出现向MySQL数据库中插入数据是中文乱码 二、解决办...

Qiu_CJ ⋅ 04/12 ⋅ 0

Servlet常见乱码及解决办法

内容概要: 1.数据库乱码 2.控制台乱码 3.html网页乱码 4.下载文件文件名乱码 准备工作 1.查询"中国"的编码表:常见的中文编码表有和 2.建数据库 数据库结构 3. 制作带表单的网页,提交表单到中...

lkee6760 ⋅ 2017/03/01 ⋅ 0

python 读取 mysql 中文乱码

这两天看了很多关于mysql中文乱码的问题,除了创建table的时候设置为utf8编码以及修改mysql配置文件的方法外,很少有人提关于python库中中文乱码的处理办法,尤其是records库的中文乱码问题。...

大胡桃夹子 ⋅ 2017/12/05 ⋅ 0

secureCRT遇到过的问题

中文输入乱码成问号 定制securtCRT主题时, 莫名其妙的中文输入全部变成了问号字符。 网上所有解决方案无效, 绝不可能是网上说的linux系统默认编码设置问题, securtCRT也已经设置为UTF8编码...

麦拂沙 ⋅ 2015/09/21 ⋅ 0

linux 下mysql的乱码问题

我有一个java web项目,在windows下运行的好好的,放到linux下却出现了各种问题。 去看了下数据库(mysql),发现新插入的中文数据都成了问号乱码。费解了,我的项目一条龙的全是UTF-8编码:所...

水牛叔叔 ⋅ 2012/09/11 ⋅ 0

Linux环境下BufferedImage Graphics drawString 中文乱码解决方法

在linux环境下的,生成的带文字的图片在前台一直显示为方框乱码,windows环境正常。 img.setFont(new Font("宋体", Font.BOLD, 20)); 写中文进入图片之前必须设置字体,而且这个字体必须支持...

飓风2000 ⋅ 2016/12/08 ⋅ 0

linux(红帽-redhat)中文显示乱码的解决办法

作者是在虚拟机中安装的红帽5系统,由于这个系统是多语言版,因此及时您的电脑中文显示乱码,其实还是可以通过安装中文包来解决这个问题。 作者刚开始安装这个红帽系统后,使用火狐浏览器访问...

码上中国博客 ⋅ 2016/02/15 ⋅ 2

关于java在用jdbc技术往mysql数据库插入数据出现乱码问题的解决方案

昨天,用练习java语句时候,尝试往mysql数据库表中的tb_emp表中添加,数据时候遇到了中文乱码问题,经过百度查询原来是我在连接数据库时候没设置成和建表时的编码一致所导致的。我在mysql用可...

寻千 ⋅ 2016/11/15 ⋅ 0

JSP表单提交中文时出现乱码

一、JSP页面显示乱码 下面的显示页面(display.jsp)就出现乱码: JSP的中文处理 <% out.print("JSP的中文处理"); %> 对 不同的WEB服务器和不同的JDK版本,处理结果就不一样。原因:服务器使用...

xiaodaiyy11 ⋅ 2011/11/17 ⋅ 2

PowerDesigner 导入sql脚本到MySQL乱码问题

PowerDesigner 12.5 / MySQL 5.0.22 通过PowerDesigner生成MySQL5的数据库脚本。因为对MySQL的命令不熟悉,所以就下载了一个MySQL UI TOOLS。想着通过MySQL Query Browser来执行SQL脚本。 安...

yonge ⋅ 2009/03/20 ⋅ 2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

个人博客的运营模式能否学习TMALL天猫质量为上?

心情随笔|个人博客的运营模式能否学习TMALL天猫质量为上? 中国的互联网已经发展了很多年了,记得在十年前,个人博客十分流行,大量的人都在写博客,而且质量还不错,很多高质量的文章都是在...

原创小博客 ⋅ 今天 ⋅ 0

JavaScript零基础入门——(十一)JavaScript的DOM操作

JavaScript零基础入门——(十一)JavaScript的DOM操作 大家好,欢迎回到我们的JavaScript零基础入门。最近有些同学问我说,我讲的的比书上的精简不少。其实呢,我主要讲的是我在开发中经常会...

JandenMa ⋅ 今天 ⋅ 0

volatile和synchronized的区别

volatile和synchronized的区别 在讲这个之前需要先了解下JMM(Java memory Model :java内存模型):并发过程中如何处理可见性、原子性、有序性的问题--建立JMM模型 详情请看:https://baike.b...

MarinJ_Shao ⋅ 今天 ⋅ 0

深入分析Kubernetes Critical Pod(一)

Author: xidianwangtao@gmail.com 摘要:大家在部署Kubernetes集群AddOn组件的时候,经常会看到Annotation scheduler.alpha.kubernetes.io/critical-pod"="",以表示这是一个关键服务,那你知...

WaltonWang ⋅ 今天 ⋅ 0

原子性 - synchronized关键词

原子性概念 原子性提供了程序的互斥操作,同一时刻只能有一个线程能对某块代码进行操作。 原子性的实现方式 在jdk中,原子性的实现方式主要分为: synchronized:关键词,它依赖于JVM,保证了同...

dotleo ⋅ 今天 ⋅ 0

【2018.06.22学习笔记】【linux高级知识 14.4-15.3】

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

lgsxp ⋅ 今天 ⋅ 0

JeeSite 4.0 功能权限管理基础(Shiro)

Shiro是Apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权等。 只要有用户参与一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户...

ThinkGem ⋅ 昨天 ⋅ 0

python f-string 字符串格式化

主要内容 从Python 3.6开始,f-string是格式化字符串的一种很好的新方法。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快! 在本文的最后,您将了解如何以及为什么今...

阿豪boy ⋅ 昨天 ⋅ 0

Python实现自动登录站点

如果我们想要实现自动登录,那么我们就需要能够驱动浏览器(比如谷歌浏览器)来实现操作,ChromeDriver 刚好能够帮助我们这一点(非谷歌浏览器的驱动有所不同)。 一、确认软件版本 首先我们...

blackfoxya ⋅ 昨天 ⋅ 0

线性回归原理和实现基本认识

一:介绍 定义:线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。为了了解这个定义,我们先举个简单的例子;我们假设一个线性方程 Y=2x+1, x变量为商...

wangxuwei ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部