首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • MySql中插入特殊中文字符出错 [无满意答案结贴,结贴人:youbl]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 11:36:15 楼主
    比如: 这个汉字,通过SqlYog插入,会报一个警告信息,进入数据库后变成?
    通过程序插入时,直接报错,说错误的字符。

    我的MySql和数据库,表都是GBK字符集,请问应该怎么处理这种情况呢?
    30  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 11:40:101楼 得分:0
    错误信息Incorrect string value: '\xEE\xA0\xAD'

    还有:
    这个字
    错误信息Incorrect string value: '\xEE\xA1\xA3'
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 12:53:122楼 得分:0
    插入数据库之前是否使用 addslashes() 进行处理?
    一般处理之后不会出错的.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 12:56:303楼 得分:0
    addslashes()
    是什么?MySql里的函数?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 12:59:474楼 得分:0
    我用的是C#,不是PHP
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 13:01:595楼 得分:0
    addslashes是对字符串加上\,跟我的问题没关系
    我的sql很简单,就是下面这样:
    insert into testTb (a01) values('')
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 17:09:146楼 得分:0
    你的读取有错误不?我的直接读出来的时候就是乱码。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 17:31:287楼 得分:0
    读取?都无法写入,谈什么读取

    别的正常汉字都能正常读取
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 23:05:478楼 得分:0
    SqlYog 好像对中文支持不是很好,我也碰到过,直接在命令窗口输入就没有问题.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 23:28:069楼 得分:0
    引用 8 楼 fenlin 的回复:
    SqlYog 好像对中文支持不是很好,我也碰到过,直接在命令窗口输入就没有问题.

    嗯嗯,告诉我们不要太依赖第三方的的东西,哈哈
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 23:48:0410楼 得分:0
    不是SqlYog的问题,命令行也是一样,能插入,但是上面那2个字都变成问号,其它正常汉字都没有问题。

    、

    引用 9 楼 jason_kou 的回复:
    引用 8 楼 fenlin 的回复:
    SqlYog 好像对中文支持不是很好,我也碰到过,直接在命令窗口输入就没有问题.

    嗯嗯,告诉我们不要太依赖第三方的的东西,哈哈
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-17 00:33:3711楼 得分:0
    看精华帖了嘛?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-17 09:33:3712楼 得分:0
    能否指出看哪一帖吗?我看了很多,但是没有找到我要的。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-18 17:19:2413楼 得分:0
    字符集大小不一样啊?GBK和GB2312不一样大啊.不在字符集自然表达不出来啊.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-19 09:23:5614楼 得分:0
    意思是说要改成gb2312?
    但是不是说:GBK的字符比GB2312大么?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-23 17:39:5115楼 得分:0
    使用c#用类库     MySQLDriver.dll
    MySQLCommand   commn   =   new   MySQLCommand( "set   names   gb2312 ",conn);
    commn.ExecuteNonQuery();
    把上面的gb2312改为gbk问题就可以解决
    原理,字符集合中是否存在SQL中的字符,以至找到相应的ANSI编码.....


    php中请写好
    query( "SET   NAMES   'UTF8 ' ");等设置

    有有问题可联系我     597405442
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-23 20:52:0416楼 得分:0
    GBK的字符集不包括这个汉子吧?猜测
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-24 17:24:5917楼 得分:0
    用我写的工具吧~~~,刚才试过,无问题,
    另外,你的数据项,最好设置为utf8(就是要插入这种字符的字段)
    http://topic.csdn.net/u/20080524/17/673b64f6-c1e1-485e-8b88-ebae3a0dfead.html
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-27 15:23:3118楼 得分:0
    该为gb2312试试看呢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-29 17:19:3219楼 得分:0
    把字体改成UTF8试试,我这边没问题
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved