在线等,一个字符集的问题

zuoxingyu 2011-05-10 01:33:46
select * from tb1 where uname='cytology_₂';


就这么简单的一个SQL,我复制到命令行里执行的时候却变成了
WINWODS下
mysql> select * from tb1 where uname='cytology_2';

LIUNX下
select * from tb1 where uname='cytology_v(2)'


也就是说cytology_₂这个有特殊字符的,在WORD中复制到命令行后,由于字符集的不同,导致进行了转换。
感觉不是MYSQL的字符集的问题,而是操作系统的字符集问题。

这个问题怎么解决呀?

...全文
93 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zuoxingyu 2011-05-10
  • 打赏
  • 举报
回复
我用的是CENTOS5。4的。晚上在自己机器上测试,是没有问题的。我的locale都是UTF8的。

现在基本确定是操作系统的字符集的问题。
iihero_ 2011-05-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zuoxingyu 的回复:]

引用 6 楼 acmain_chm 的回复:

这个和工具本身是否支持相应的字符集有关。

版主,用MYSQL自己的命令行工具,在LINUX下,怎么样操作能写入那个特殊字符啊?
[/Quote]
我不知道你用的是什么发行版的linux,如果是ubuntu,并且locale是utf-8,应该可以支持这类特殊字符的显示。
zuoxingyu 2011-05-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 rucypli 的回复:]

应该是和客户端的字符集有关
[/Quote]

可否指条明路,我应该怎么改才能支持特殊字符?
zuoxingyu 2011-05-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 acmain_chm 的回复:]

这个和工具本身是否支持相应的字符集有关。
[/Quote]
版主,用MYSQL自己的命令行工具,在LINUX下,怎么样操作能写入那个特殊字符啊?
rucypli 2011-05-10
  • 打赏
  • 举报
回复
应该是和客户端的字符集有关
ACMAIN_CHM 2011-05-10
  • 打赏
  • 举报
回复
这个和工具本身是否支持相应的字符集有关。

zuoxingyu 2011-05-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 vipper23 的回复:]

试试第三方工具吧,在NAVICAT下倒是能粘贴进去table ™ name
[/Quote]
是的。WIN下的可以。

但操作是在LINUX下的呀、
vipper23 2011-05-10
  • 打赏
  • 举报
回复
试试第三方工具吧,在NAVICAT下倒是能粘贴进去table ™ name
vipper23 2011-05-10
  • 打赏
  • 举报
回复
试试第三方工具吧,在NAVICAT下倒是能粘贴进去table ™ name
zuoxingyu 2011-05-10
  • 打赏
  • 举报
回复
比如下面这样的一个INSERT,在命令行里怎么输入?

insert into myt values('table ™ name')


一粘贴就变成
insert into myt values('table t name')
zuoxingyu 2011-05-10
  • 打赏
  • 举报
回复
现在我想在命令行里查出uname='cytology_₂'的记录,查不出来。

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧