Databases: MySQL tRIGger--chinese character-set php

 

DELIMITER |
create TRIGGER tr_calllog_insert after insert on messagescalllog for each row begin
IF messagescalllog.Duration != "" THEN
UPDATE callnumbercreate SET callnumbercreate.LastCalledDateTime = messagescalllog.callDayTime where messagescalllog.phoneNumber = callnumbercreate.Number;
END IF;
END; |

 

 

/*
@ $db = mysql_connect('localhost', 'root', '') or
die("Could not connect to database.");//连接数据库
mysql_query("set names 'gbk'");//输出中文
mysql_select_db('llq_test'); //选择数据库
error_reporting(E_ALL ^ E_NOTICE);
*/
//echo $sql.'< br />';
//$res = mysql_query($sql);

 

 

第一种:初始化文件(my.cnf)中设置参数

mysql数据库默认的字符集是latin。所以需要在my.cnf中设置下。比如:

[root@dbadb1 test]# more /etc/my.cnf

[mysqld]

default-character-set=utf8

然后连接进mysql,查看:

mysql> status

Server characterset: utf8
Db characterset: utf8
Client characterset: latin1
Conn. characterset: latin1
第二种:设置客户端的字符集

在连接mysql的时候,需要加上个参数,比如:

[root@dbadb1 test]# mysql -uroot -p –default-character-set=utf8

mysql> status

Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
第三种:修改服务器的环境变量 LANG

[root@dbadb1 test]# export LANG=en_US

然后再连接mysql,就可以输入中文了。
总结:

前两种方法主要是解决中文乱码的问题, 第三种方法是解决不能输入中文的方法。

debian下mysql的字符串修改为utf8(参考:rainysia的专栏)

一、进入mysql(mysql -uroot -p),查看当前数据库字符集(status;)

二、查看当前系统版本(lsb_release -a)

Mysql不能插入中文

三、#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_%’;)

posted on 2015-10-09 14:31  szllq2000  阅读(248)  评论(0编辑  收藏  举报