表结构:
CREATE TABLE `t1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk
存储过程BEGINDECLARE i INT DEFAULT 1;
DECLARE n VARCHAR(15) CHARACTER SET GBK;
set @n='abc桃子';WHILE i < 500 DO
INSERT INTO t1 VALUES (i, concat(@n, i));SET i = i + 1;END WHILE;
END
表t1的name字段总是乱码,求解
CREATE TABLE `t1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk
存储过程BEGINDECLARE i INT DEFAULT 1;
DECLARE n VARCHAR(15) CHARACTER SET GBK;
set @n='abc桃子';WHILE i < 500 DO
INSERT INTO t1 VALUES (i, concat(@n, i));SET i = i + 1;END WHILE;
END
表t1的name字段总是乱码,求解
试试
show variables like 'char%';
贴结果出来看看
+--------------------------+--------------------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | gbk |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | gbk |
| character_set_system | utf8 |
| character_sets_dir | /home/taozi.ly/mysql/share/mysql/charsets/ |
+--------------------------+--------------------------------------------+
8 rows in setmysql>
CREATE TABLE `t1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;
再调用你的SP,看看结果
程序里面运行set names gbk;
最后在执行insert 语句,都不会乱码的,今天第一次尝试存储过程才遇到乱码的问题
MySQL 中文显示乱码
未完