Mysql在debian系统中不能插入中文的终极解决方案
在debian环境下,彻底解决mysql无法插入和显示中文的问题
Linux下Mysql插入中文显示乱码解决方案
mysql -uroot -p 回车输入密码
进入mysql查看状态如下:
默认的是客户端和服务器都用了latin1,所以会乱码。
解决方案:
mysql>user mydb;
mysql>alter database mydb character set utf8;!
上文提到了用临时方法更改数据库的字符集设置,显示中文,但是后来发现在有的系统下并不能成功。
比如我用的debian 7.0,找了好久终于找到一个适合debian系统的解决方案,debian 7.0下测试成功,其他诸如修改client和mysql加入default-character-set=utf8的方法之类的,只适用与5.5以前的系统!
终极决绝方案,一劳永逸:
debian下mysql的字符串修改为utf8(参考:rainysia的专栏)
一、进入mysql(mysql -uroot -p),查看当前数据库字符集(status;)
二、查看当前系统版本(lsb_release -a)
三、#vim /etc/mysql/my.cnf 。(5.5以前系统)在【client】下面加入 default-character-set=utf8
在【mysqld】下面加入default-character-set=utf8
Notice:注意 如果修改后不能启动报错试试把default-character-set=utf8改为character_set_server=utf8,仅仅加入到mysqld下面的.client就不需要加了
四、#vim /etc/mysql/my.cnf 。(5.5以后系统)如下修改:
[client]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
五、重启mysql(/etc/init.d/mysql stop /etc/init.d/mysql start)
六、修成成功,进入mysql查看字符集(mysql>show variables like ‘character_set_%';)
Mysql无法插入中文
相关推荐
-
在Ubuntu或Debian系统的服务器上卸载MySQL的方法
对于有的vps,系统默认安装了mysql.我们需要从我们的服务器.vps上卸载(移除)默认的mysql.那么如何(怎样)在ubuntu\Debian上卸载mysql? 通常情况下,下列mysql软件包会被安装到 Debian .Ubuntu中: mysql-client - The latest version of MySQL database client(最新版的mysql数据库客户端). mysql-server - The latest version of MySQL databas
-
Debian中完全卸载MySQL的方法
之前服务器上配置测试用的服务环境,我偷懒顺手用网上现成的脚本进行安装,结果MySQL启动不了,于是我只有老老实实的重新安装MySQL Server,原本以为apt-get --purge这类命令可以很好的帮我解决这个问题,于是我通过下面的命令重新安装: 复制代码 代码如下: sudo apt-get --purge remove mysql-serversudo apt-get install mysql-server 然后再一次的启动MySQL,仍然失败报错,搜索网络依旧是提示重新安装MySQ
-
在Debian 9系统上安装Mysql数据库的方法教程
前言 看到题目大家应都会想,在 Debian 9 上安装 Mysql?那不是很简单的事儿吗?直接 sudo apt install mysql-server 不就行了吗? 没想到遇到了几个之前没遇到的问题,耽误了不少时间. 原来在 Debian 9 中,Mysql 已经被替换成了 MariaDB,所以和传统的安装 Mysql 有一些不一样的地方. 安装方法 首先我们还是可以用 sudo apt install mysql-server 这样安装上的,但是安装上的还是 MariaDB,所以最好还是
-
Debian 6.02 (squeeze)下编译安装 MySQL 5.5的方法
环境 : Debian 6.02 (squeeze) x64 软件:MySQL 5.5.14 步骤: 1.升级系统 #apt-get update #apt-get upgrade #apt-get install chkconfig libpcre3-dev build-essential libssl-dev libncurses5-dev bison 2.准备软件 cmake-2.8.5.mysql 5.5.14 #wget http://www.cmake.org/files/v2.8/
-
debian6配置mysql允许远程连接的方法(图)
debian6系统: 首先先安装mysql吧: 打开终端(root)用户登入 apt-get purge mysql-server-5.5 安装完成后: 默认情况下Mysql只允许本地登录,所以需要修改配置文件将地址绑定给注释掉: 复制代码 代码如下: vim /etc/mysql/my.cnf #bind-address = 127.0.0.1 <---注释掉这一行就可以远程登录了 若还是不行,请本地登录mysql执行词句:UPDATE user SET Password=PASSWORD
-
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
最近尝试把项目迁移到Python环境下,特别新装了一台干净的Debian系统,准备重新配置环境,上网找了一些运行Python Web的环境方案,最后敲定Nginx+uWSGI组合,Nginx用得比较多,熟练些:uWSGI据说性能不错,想尝试一下. 网上大部分教程都是要求到uWSGI官方网站下载源码包,然后通过编译的方式安装,比如对于一台新Debian系统,可以通过下面的命令安装: apt-get update apt-get upgrade apt-get install build-essen
-
Mysql在debian系统中不能插入中文的终极解决方案
在debian环境下,彻底解决mysql无法插入和显示中文的问题 Linux下Mysql插入中文显示乱码解决方案 mysql -uroot -p 回车输入密码 进入mysql查看状态如下: 默认的是客户端和服务器都用了latin1,所以会乱码. 解决方案: mysql>user mydb; mysql>alter database mydb character set utf8;! 上文提到了用临时方法更改数据库的字符集设置,显示中文,但是后来发现在有的系统下并不能成功. 比如我用的debi
-
Linux下进行MYSQL编程时插入中文乱码的解决方案
插入中文是乱码,尝试了许多方法,比如我先把vim里设置为:set fileencoding=utf-8不起作用,后来想想也对,和vim没什么关系 然后就尝试c#代码,用Encoding.UTF8.GetString()方法,后来也不对. 我就郁闷了,忽然想起来莫不是mysql的设置问题??? 于是,sudo nano /etc/mysql/my.cnf 插入下面红色代码,default-character-set = utf8,成功,不乱码了~~~根本不用什么Encoding..... # Th
-
复杂系统中的用户权限数据库设计解决方案
B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个"非法用户"很可能就能通过浏览器轻易访问到B/S系统中的所有功能.因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些未经授权的"非法用户"将会将他们彻底的"拒之门外&
-
MySQL在Linux系统中隐藏命令行中的密码的方法
在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?,类似MySQL在ps命令下隐藏密码. 假设我这里系统里两个用户,一个是root ,一个是dabu .测试系统为centos 6.5在按照下面的步骤做: [root@dabu.info ~]#su dabu #切换到dabu这个账号 [dabu@dabu.info ~]$cd ~ #切换到dabu的h
-
Java向数据库插入中文出现乱码解决方案
主要解决方向,JAVA与MYSQL中编码要统一.通常采用UTF-8. 这里虽然你在项目中设置了数据库采用UTF-8,但是那里不包括连接方式之类的. 1.查询自身MYSQL编码方式 MySQL默认编码是latin1 mysql> show variables like 'character%'; +--------------------------+--------------------------+ | Variable_name | Value | +-------------------
-
解决mysql不能插入中文Incorrect string value
选项default-charaset-set=utf8; 然后创建一个数据表 create table a_table(b varchar(255) not null); insert into a_table values('北京'); 这个时候插入的是中文,系统会报告错误:Incorrect string value: '\xB1\xB1\xBE\xA9' for column 'b' at: 这个不能插入中文.如果该语句写在了一个文本文件中进行批处理操作,保存的编码是默认的话也会出现这种的
-
centOS7下mysql插入中文字符报错问题解决方法
在刚装完mysql,就建立了数据库abc,然后新建一个abc表,插入英文没有问题,但是插入中文就有问题,会报错: ERROR 1366 (HY000): Incorrect string value: '\xE4\xBD\x99\xE9\x93\xB6...' 应该是数据库编码问题,所以应该改数据库编码 这里有2中方法.一种是直接敲代码设置,一种是在CentOS7中修改文件/usr/my.cnf, 第一种方法: 列出数据库的编码表 mysql> show variables like '%cha
-
教你一招永久解决mysql插入中文失败问题
前言 问题描述: Incorrect string value:'\xD5\xC5\xC8\xFD' for column 'name' at row 1; 本文是采用修改配置文件,也就几分钟搞定,修改前请备份~~ 有的小伙伴在mysql中插入中文会报错,那么我们要指定字符集. 使用一个命令可以查看当前数据的字符集~(没有修改的时候是拉丁文) show variables like '%character%'; 我们可以有临时解决方案,和永久解决的方案,这里我们只说永久解决的方案: 想要支持中文
-
MySQL中实现插入或更新操作(类似Oracle的merge语句)
如果需要在MySQL中实现记录不存在则insert,不存在则update操作.可以使用以下语句: 更新一个字段: INSERT INTO tbl (columnA,columnB,columnC) VALUES (1,2,3) ON DUPLICATE KEY UPDATE columnA=IF(columnB>0,1,columnA) 更新多个字段: INSERT INTO tbl (columnA,columnB,columnC) VALUES (1,2,3) ON DUPLICATE KE
-
Centos系统中彻底删除Mysql数据库步骤
详细步骤如下所示: 1.输入命令查询系统中已安装的mysql. rpm -qa |grep -i mysql 2.逐个卸载mysql. yum remove 系统显示已安装的mysql 比如: yum remove mysql-community-server-5.7.19-1.el7.x86_64 3.卸载完成后使用find命令来查找系统中存在的mysql文件夹. find / -name mysql 4.使用rm -rf命令逐个删除文件夹路径即可. 比如: rm -rf /etc/logro
随机推荐
- 基于jquery的关于动态创建DOM元素的问题
- 简单的java读取文件示例分享
- python虚拟环境的安装配置图文教程
- Swift中swift中的switch 语句
- Asp.net与SQLserver一起打包部署安装图文教程
- ASP.NET Core发送邮件的方法
- Yii2中如何使用modal弹窗(基本使用)
- 建立WEB两大经典!《VML极道教程》+FlashVml(闪耀之星)3.0中/英文版联合发布!
- Java Timezone类常见问题_动力节点Java学院整理
- 微信小程序 ecshop地址三级联动实现实例代码
- C#简单查询SQLite数据库是否存在数据的方法
- jQuery ready方法实现原理详解
- JavaScript中eval函数的问题
- Android app开发中的Fragment入门学习教程
- JavaScript实现九九乘法表的简单实例
- dedecms系统常用术语汇总
- C++多继承同名隐藏实例详细介绍
- Python通过Django实现用户注册和邮箱验证功能代码
- 解决vue打包项目后刷新404的问题
- spring boot静态变量注入配置文件详解