Mysql插入中文和查询中文,编码问题,急 20

首先,是视图位置的问题。把所有编码格式为utf8时候,可以插入中文数据,但是不能使用createorreplace.....wherename='张三',来修改视图,张三... 首先,是视图位置的问题。
把所有编码格式为utf8时候,可以插入中文数据,但是不能使用create or replace ..... where name='张三',来修改视图,张三显示为乱码。
用set names gbk或者gb2312,张三不是乱码,但是却不能插入中文数据了,原来插入的中文数据变成了乱码。

是 视图 中 遇到的问题
表中可以用where name='张三'来查询数据,插入数据也没错误。
展开
 我来答
吉人有吉事
2014-09-18 · 知道合伙人软件行家
吉人有吉事
知道合伙人软件行家
采纳数:1524 获赞数:4061
毕业于吉林大学,从事软件开发行业10余年,在金融担保,医疗,电子政务领域积累了相当多的经验

向TA提问 私信TA
展开全部
–查看字符集
mysql> show variables like 'character%';
mysql> show variables like 'collation_%';

修改配置文件:
shell> vi /etc/mysql/my.cnf
[client]

default-character-set=utf8

[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
init-connect=’SET NAMES utf8′
character-set-server = utf8

2.修改数据库: mysql>ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE …];

3.把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集:

mysql>ALTER TABLE tbl_name CONVERT TO CHARACTER SET character_name [COLLATE …]

mysql>ALTER TABLE logtest CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

只是修改表的默认字符集:

mysql>ALTER TABLE tbl_name DEFAULT CHARACTER SET character_name [COLLATE…];

mysql>ALTER TABLE logtest DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

4.修改字段的字符集:

mysql>ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name [COLLATE …];

mysql>ALTER TABLE logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;

5.临时更改连接字符集:mysql> SET NAMES utf8;

查看数据库的字符集
mysql> show create database test;

查看表的字符集,包括各个字段的字符集,如果各字段没有标明,表示与表的字符集一致
mysql> show create table books \G
查看字段编码
SHOW FULL COLUMNS FROM tbl_name;
匿名用户
2014-09-17
展开全部
set NAME 'utf8'
追问
utf8试过了。
视图中,'男'可以正确显示,但是却不能正确从视图中插入数据 。
追答
插入数据前也set一下,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-09-17
展开全部
难题,重新装MySQL吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式