万能的CSDN论坛啊,谁能告诉我WHY!

nustchen 2005-03-06 09:27:39
最近在用MySQL的时候发现很大的问题,请大家帮我分析分析:

我使用的字符集是utf-8,在我的表中有一个CHAR(16)的字段是用来存放密码的,密码是经过加密的。在往里面写入数据的时候,我发现0x81、0x8d、0x8f、0x90、0x9d这五个字符会被替换成0x3f,就是“?”。其他的字符又没有关系,这怎么办呢。

我的基本使用情况如下:
系统:Win 2000 Pro
版本:4.1.7 nt

Server version 4.1.7-nt-log
Protocol version 10
Connection localhost via TCP/IP
TCP port 3306
Uptime: 1 min 25 sec

| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |


我把表的字符集改成latin1,则没有这样的问题,但是我不知道这样改了以后存储中文会不会有类似的问题。请大家指教。

我向MySQL提出这个问题,结果被告知utf8不支持高位为1的字符,但是其他高位为1的字符又没有问题。而且,在MySQL上面很多人都提出了这个问题。

下面是我的Bug Report
http://bugs.mysql.com/bug.php?id=8943
...全文
116 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ms44 2005-03-17
  • 打赏
  • 举报
回复
好象是因为其他的 char没有办法用utf8显示,都只好用?显示的.
只要实际的vlaue没有错就没有什么问题.
liuquanyi 2005-03-11
  • 打赏
  • 举报
回复
我用gbk字符集!
好像没什么!
fanyi2003 2005-03-11
  • 打赏
  • 举报
回复
关注!
nustchen 2005-03-09
  • 打赏
  • 举报
回复
跟操作系统有什么关系呢,而且也不能换操作系统的。我想知道如何在2000下面解决这个问题。
taoxuwen 2005-03-08
  • 打赏
  • 举报
回复
你操作系统是win2000? 如果是98估计就没问题 估计问题就在那
大熊猫侯佩 2005-03-06
  • 打赏
  • 举报
回复
关注`~~

56,679

社区成员

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

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