MariaDB社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5339|回复: 6
打印 上一主题 下一主题

mysql 设为UTF8编码 无法输入中文

[复制链接]
跳转到指定楼层
1#
发表于 2008-6-22 23:50:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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

[mysql]
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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 顶 踩
2#
发表于 2008-6-24 10:08:42 | 只看该作者
在插入之前,使用语句试试:
set names utf8;
3#
发表于 2008-7-3 10:17:17 | 只看该作者
我安装你提供的脚本做的实验,结论是可以,贴出详细步骤,供你参考:

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)
4#
发表于 2008-8-28 12:26:39 | 只看该作者
5#
发表于 2009-8-18 22:22:38 | 只看该作者
不对啊。。
我安装的时候选择的是:utf8
试了一楼的方法命令行还是插入不了中文
insert into一句错误
6#
发表于 2009-8-18 22:25:06 | 只看该作者
我安装的是MySql5.1.37
7#
发表于 2009-9-14 19:42:05 | 只看该作者
第一步:修改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服务,然后就可以插入中文了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|MariaDB社区 ( 京ICP备07012489号    |
业务联系: QQ:48474881; 邮箱: 48474881@qq.com; 电话:13911732319
声明:本站部分文章是网友转载,若未经作者同意或署名有误,请联系网站管理员。

GMT+8, 2024-11-10 07:43 , Processed in 0.072474 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表