Ubuntu系统 MySQL无法存储中文的解决方法

Ubuntu系统 MySQL无法存储中文的解决方法

原因

默认情况下MySQL是不能存储中文的,不能显示汉字就是因为character_set_database 的Value值为latin1。

解决方法:

1、打开终端(Ctrl + Alt + T),在超级用户模式下输入以下命令进入文件编辑:

sudo vi /etc/mysql/my.cnf

对【my.cnf】文件进行编辑,输入以下语句,保存并退出:

[client]
default-character-set=utf8

[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci

效果图如下

2、打开终端(Ctrl + Alt + T),输入以下命令重新启动mysql:

sudo /etc/init.d/mysql restart;

  在终端上(Ctrl + Alt + T)输入以下命令进入MySQL,输入用户和密码回车即可:

mysql -u用户名 -p密码

  进入MySQL后然后输入以下SQL命令查看编码,是否正确:

show variables like ‘character_set_%‘;

//输入结束后按回车键

  效果图如下:

这样就可以解决相应问题。

原文地址:https://www.cnblogs.com/lnd-blog/p/11738551.html

时间: 2024-10-12 02:17:42

Ubuntu系统 MySQL无法存储中文的解决方法的相关文章

EF TO MYSQL 无法查询中文的解决方法

ef dbfirst 连接mysql 5.7版本 起初,连edmx都无法生成 报错 Entity : The value for column 'IsPrimaryKey' in table 'TableDetails' is DBNull 解决方法,对应的数据库运行 在5.7中,由于采用了新的优化方式,我们需要使用 set optimizer_switch=’derived_merge=off’来禁止derived table合并到外层的Query中. set global optimizer

[转]mysql导出导入中文表解决方法

在开发过程中会经常用到mysql导出导入中文表,本文将详细介绍其如何使用,需要的朋友可以参考下. 在开发过程中会经常用到mysql导出导入中文表,本文将详细介绍其如何使用,需要的朋友可以参考下一.先针对utf8导出: (1)导出源数据库的所有表: 代码如下: mysqldump -u root -p密码 --socket=mysql.sock --default-character-set=utf8 --set-charset=utf8 --hex-blob --databases 数据库名 >

mysql使用utf8中文乱码解决方法

最近,我在做一个项目的部署,这个项目是已nginx为前端代理两个tomcat的节点,通过mysql-proxy代理访问两台主从的mysql数据库. 整个项目搭建部署完成,进行测试,发现打开网页出现中文乱码.好吧,我进行修改. 开始以为是mysql数据库配置有问题,查看mysql的配置文件my.conf,内容如下: [mysqld] datadir=/usr/local/mysql/data socket=/tmp/mysql.sock user=mysql skip-character-set-

[转]mysql导入导出数据中文乱码解决方法小结

本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8, 例如下面的代码: 代码如下: mys

Linux下Tomcat向MySQL插入数据中文乱码解决办法

Linux下Tomcat向MySQL插入数据中文乱码解决办法 一.问题 在windows上面使用eclipse开发的项目在windows上面运行一切正常,部署到腾讯云时出现向MySQL数据库中插入数据是中文乱码 二.解决办法 1.尝试一直接在linux上面使用insert语句插入中文,正常2.尝试二在tomcat配置文件server.xml中加入useBodyEncodingForURI="true",不行3.尝试三在tomcat配置文件server.xml中再加入URIEncodin

关于MySQL的异常处理 Can't connect to MySQL server on localhost (10061)解决方法

首先检查MySQL 服务没有启动>如果没有启动,则要启动这个服务. 昨天,重起服务器后出现MySQL 'localhost' (10061)错误,开始以为是因为数据库链接打开过多,数据库资源耗尽的缘故,但是重启服务器以后,仍旧出现问题,于是在网上查找解决方法.大体如下: 解决办法: 第一步 删除c:\windows\下面的my.ini 第二步 打开c:\mysql\bin\winmysqladmin.exe 输入用户名 和密码 第三步 在dos下 输入 mysqld-nt -remove 删除服

sublime text3 输入中文的解决方法及注册

让它输入中文的原理就是给sublime text3给打上个补丁libsublime-imfix.so,这个补丁可以直接git回来,或者下载补丁的源码编译安装. Ubuntu可以直接按照下面的教程 sublime text3 输入中文的解决方法 1. 下载我们需要的文件,打开终端 ,输入: git clone https://github.com/lyfeyaj/sublime-text-imfix.git 2. 将下载的文件解压之后,移到当前目录(-目录下边),然后执行下边命令: cd ~/su

Ubuntu 14.04中root 密码忘记解决方法[转载+17.04亲测可用]

Ubuntu 14.04中root 密码忘记解决方法 Ubuntu 14.04中root 密码忘记解决方法 方法一: 如果用户具有sudo权限,那么直接可以运行如下命令: #sudo su root #passwd #更改密码 或者直接运行sudo passwd root命令就可以直接更改root密码. 有关sudo su的区别: 1.共同点:都是root用户的权限: 2.不同点:su仅仅取得root权限,工作环境不变,还是在切换之前用户的工作环境:sudo是完全取得root的权限和root的工

mysql密码更改不了解决方法

mysql密码更改不了解决方法 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. 今天在MySql5.7操作时报错:You must SET PASSWORD before executing this statement解决方法,需要的朋友可以参考下 ERROR 1820 (HY000): You must SET PASSWO