Mysql在debian系统中不能插入中文的终极解决方案_Mysql

在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无法插入中文

时间: 2024-10-30 00:17:49

Mysql在debian系统中不能插入中文的终极解决方案_Mysql的相关文章

Mysql在debian系统中不能插入和显示中文的解决方法

在debian环境下,彻底解决mysql无法插入和显示中文的问题 Linux下Mysql插入中文显示乱码解决方案 mysql -uroot -p 回车输入密码 进入mysql查看状态如下: 默认的是客户端和服务器都用了latin1,所以会乱码. 解决方案: mysql>user mydb; mysql>alter database mydb  character set utf8;! 上文提到了用临时方法更改数据库的字符集设置,显示中文,但是后来发现在有的系统下并不能成功. 比如我用的debi

MySQL在Linux系统中隐藏命令行中的密码的方法

  这篇文章主要介绍了MySQL在Linux系统中隐藏命令行中的密码的方法,作者利用简单的C程序实现,需要的朋友可以参考下 在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?,类似MySQL在ps命令下隐藏密码. 假设我这里系统里两个用户,一个是root ,一个是dabu .测试系统为centos 6.5在按照下面的步骤做: ? 1 2 3 4 [r

Linux下进行MYSQL编程时插入中文乱码的解决方案_php技巧

插入中文是乱码,尝试了许多方法,比如我先把vim里设置为:set fileencoding=utf-8不起作用,后来想想也对,和vim没什么关系 然后就尝试c#代码,用Encoding.UTF8.GetString()方法,后来也不对. 我就郁闷了,忽然想起来莫不是mysql的设置问题??? 于是,sudo nano /etc/mysql/my.cnf 插入下面红色代码,default-character-set = utf8,成功,不乱码了~~~根本不用什么Encoding..... # Th

MySQL自增列插入0值的解决方案_Mysql

在将数据库从MSSQL迁移到MySQL的过程中,基于业务逻辑的要求,需要在MySQL的自增列插入0值.在MSSQL中是这样完成的: 复制代码 代码如下: string sql;sql = " set identity_insert dbo.AppUsers on " + " insert dbo.AppUsers (Id, IsLocked, IsMustChangeLocalPassword, IsAvailable, Name, Sequence, CreatedBy,

复杂系统中的用户权限数据库设计解决方案_数据库其它

B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个"非法用户"很可能就能通过浏览器轻易访问到B/S系统中的所有功能.因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些未经授权的"非法用户"将会将他们彻底的"拒之门外&

MySQL在Linux系统中隐藏命令行中的密码的方法_Mysql

在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?,类似MySQL在ps命令下隐藏密码. 假设我这里系统里两个用户,一个是root ,一个是dabu .测试系统为centos 6.5在按照下面的步骤做: [root@dabu.info ~]#su dabu #切换到dabu这个账号 [dabu@dabu.info ~]$cd ~ #切换到dabu的h

mysql 实现互换表中两列数据方法简单实例_Mysql

由于最近项目,有这样一个需求,是把数据库中的两列数据互换,经过好久才搞定,这里写个简单实例,做过记录. 1.创建表及记录用于测试 CREATE TABLE `product` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '产品id', `name` varchar(50) NOT NULL COMMENT '产品名称', `original_price` decimal(5,2) unsigned NOT NULL COMMEN

安装Windows7出现:”安装程序无法创建新的系统分区 也无法定位系统分区“ 终极解决方案

参考:地址 解决方法: 1.先格式化一下你要装的那个盘,然后,拔出U盘,啥也别动,只拔出U盘就行,再装上U盘,然后刷新一下[选硬盘那里的高级选项中有格式化和刷新],再选择要安装的硬盘点下一步,OK了,可以正常安装了温馨提示:如果这样还不行,那么试试下面这种方法:2.设置Bios里面的boot启动顺序,台式机把boot设置成从硬盘启动(选择 HardDisk那个选项.注意:不同的bios显示是不同的,但是基本上选择是相同的,稍微动下脑子就可以了),笔记本设置成USB启动(安装完成要再设置成从硬盘启

redhat或debian系统上软件安装和卸载的介绍

在使用redhat或debian系统中,经常会对软件进行安装和卸载,下面风信网针对Linux系统中的软件的安装和卸载方法进行一个总结,给大家参考使用. 以下示例以rpm包为准!没有安装debian系统,但方法差不多. 卸载一个软件包: rpm -e <package-http://www.aliyun.com/zixun/aggregation/11696.html">name> 示例: [root@localhost software]# rpm -e gnome-libs-