mysql 设为UTF8编码 无法输入中文
CREATE TABLE `type` (`id` int(10) unsigned NOT NULL auto_increment,
`type_name` varchar(50) character set utf8 NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
MY.INI
default-character-set=UTF8
.....
# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=UTF8
但现在只要是插入带中文的记录就出错?
E:
INSERT INTO type(type_name)value('中文');
无法插入中文记录?
那位兄弟帮帮忙我才学:MYSQL .PHP...
因为PHP里一定要UTF8 在插入之前,使用语句试试:
set names utf8; 我安装你提供的脚本做的实验,结论是可以,贴出详细步骤,供你参考:
mysql> use pubdb;
Database changed
mysql> CREATE TABLE `type` (
-> `id` int(10) unsigned NOT NULL auto_increment,
-> `type_name` varchar(50) character set utf8 NOT NULL default '',
-> PRIMARY KEY (`id`)
-> ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.01 sec)
mysql> show create table type;
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| type| CREATE TABLE `type` (
`id` int(10) unsigned NOT NULL auto_increment,
`type_name` varchar(50) NOT NULL default '',
PRIMARY KEY(`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> set names utf8; ----此时可以不用管my.cnf配置文件中是否配置了字符集,默认即可。
Query OK, 0 rows affected (0.00 sec)
mysql> 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 | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)
mysql> INSERT INTO type(type_name)value('中文');
Query OK, 1 row affected (0.00 sec)
mysql> select * from type;
+----+-----------+
| id | type_name |
+----+-----------+
|6 | 中文 |
+----+-----------+
1 row in set (0.00 sec) 好:victory: 不对啊。。
我安装的时候选择的是:utf8
试了一楼的方法命令行还是插入不了中文
insert into一句错误 我安装的是MySql5.1.37 第一步:修改my.ini文件 将里面的default-character-set=latin1修改为default-character-set=utf8(注意,my.ini文件中有两个default-character-set)
第二步:将里面的sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE "中的STRICT_TRANS_TABLES去掉.重启一下mysql服务,然后就可以插入中文了。
页:
[1]