免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4732 | 回复: 11
打印 上一主题 下一主题

MySQL使用中文属性和值失败,请教解决方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-22 11:10 |只看该作者 |倒序浏览
小生刚开始学习数据库,还有很多问题不明就里,望多多指教.

小生在安装MySQL的时候将字符集默认设为utf8,可是还是遇到创建中文属性和插入中文值的时候失败的问题,希望各位大虾不吝赐教,指点一二,以下是截图:

MySQL字符集截图.PNG (11.14 KB, 下载次数: 46)

MySQL字符集截图

MySQL字符集截图

创建中文属性失败截图.PNG (2.52 KB, 下载次数: 57)

创建中文属性失败截图

 创建中文属性失败截图

插入中文值失败截图.PNG (3.95 KB, 下载次数: 45)

插入中文值失败截图

插入中文值失败截图

论坛徽章:
0
2 [报告]
发表于 2009-02-22 16:23 |只看该作者
1.mysql 3.23.xx系列都支持中文,但只是指属性名,4.x更应该没问题,估计现在没有对中文属性名支持太好的DBMS.

2.用反撇号(ecs下面那个键)
eg:
create `表`(`列1` int not null auto_increment primary key,`列2`varchar(10))

论坛徽章:
0
3 [报告]
发表于 2009-02-22 18:07 |只看该作者

回复 #2 todayhero 的帖子

好像是有反撇号这样一个办法,似乎是在书上扫过一眼(不好意思,学的有点匆忙,以后一定改),但是刚刚试了一下,还是没有成功,小生有空再多找找原因

刚刚用 Navicat Lite for MySQL 这个软件尝试了一下,成功建立了中文表名并含有中文属性名的表单,但是这个工具是 GUI 的,小生还是想搞清楚如何在 CLI 下成功解决这个问题,还望继续探讨.

先谢过了!~

论坛徽章:
0
4 [报告]
发表于 2009-02-23 08:35 |只看该作者

回复 #3 SeraphJack 的帖子

1.一句语.根本不要使用什么中文表名和中文属性名.我100%不造成的.

2.不懂你为什么非要使用中文表名和中文属性,感觉实用性太小.难道将来你要看到.

mysql>select 性,名,年纪,个人信息 from 用户 where 性="刘";

论坛徽章:
1
白银圣斗士
日期:2015-11-23 08:33:04
5 [报告]
发表于 2009-02-23 09:51 |只看该作者
原帖由 todayhero 于 2009-2-23 08:35 发表
1.一句语.根本不要使用什么中文表名和中文属性名.我100%不造成的.

2.不懂你为什么非要使用中文表名和中文属性,感觉实用性太小.难道将来你要看到.

mysql>select 性,名,年纪,个人信息 from 用户 where 性="刘";


正确。

mysql在编码上需关注的是存储内容的编码。

论坛徽章:
0
6 [报告]
发表于 2009-03-08 15:19 |只看该作者
前辈们,小生的问题还是没有解决啊!
现在需要向已建好的表里插入值,其中有一列需要插入中文,在自带的客户端下插入不成功,就像前面的图里描述的
incorrect string value...
在Navicat Lite for MySQL中可以插入,但是将其自动生成的SQL复制粘贴到自带客户端下仍旧报错,将中文的引号改为反撇毫也不能解决
这事有点急,是我们老师布置的一个项目,希望各位前辈指点一二。

小生谢过了。

论坛徽章:
0
7 [报告]
发表于 2009-03-16 01:33 |只看该作者
请教,我现在用ubuntu,安装了mySQL, 为什么我insert 进去的时候是汉字的,select出来的都是乱码了呢?

兄弟是新手,请问哪里能找到比较详细的例子和介绍?


QUOTE:
原帖由 todayhero 于 2009-2-23 08:35 发表
1.一句语.根本不要使用什么中文表名和中文属性名.我100%不造成的.

2.不懂你为什么非要使用中文表名和中文属性,感觉实用性太小.难道将来你要看到.

mysql>select 性,名,年纪,个人信息 from 用户 where 性="刘";

正确。

mysql在编码上需关注的是存储内容的编码。

论坛徽章:
0
8 [报告]
发表于 2009-03-16 09:22 |只看该作者
修改数据库的字符集
   mysql>use mydb
   mysql>alter database mydb character set utf-8;

创建数据库指定数据库的字符集
   mysql>create database mydb character set utf-8;

论坛徽章:
1
白银圣斗士
日期:2015-11-23 08:33:04
9 [报告]
发表于 2009-03-16 09:33 |只看该作者

回复 #6 SeraphJack 的帖子

要想正确显示需要三个因素:
1就是存储内容的编码
2数据库表编码
2客户端工具的编码

论坛徽章:
0
10 [报告]
发表于 2009-03-16 11:53 |只看该作者
原帖由 khandielas 于 2009-3-16 01:33 发表
请教,我现在用ubuntu,安装了mySQL, 为什么我insert 进去的时候是汉字的,select出来的都是乱码了呢?

兄弟是新手,请问哪里能找到比较详细的例子和介绍?


QUOTE:
原帖由 todayhero 于 2009-2-23 08:3 ...



set name utf8或set name gbk
在select前
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP