一直没能解决的一个问题 delphi插入生僻字符到mysql数据库出错

stephenchern 2014-06-12 04:18:16
一直没能解决的一个问题 delphi插入生僻字符到mysql数据库出错
我delphi版本是xe2的
利用mysql访问控件操作mysql数据库
一切都很正常
就是如果有生僻字 如:珺旸玙
用mysql的管理工具 mysqlworkbench 可以插入
但是用程序 插入就是报错
数据表 数据集是用gb2312 换用utf8 问题依然存在
报错如下:

还请大家指教 谢谢。。。这个问题困扰我很久了 最近要开始用了 又拿来研究下。

以下是mysql的测试脚本 用mysqlworkbench 可以执行成功
#测试生僻字插入
drop table if exists test;
create table test(
a nvarchar(100))
engine = MyISAM default charset = gb2312;
insert into test select '珺旸玙';
select * from test;
...全文
230 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
nm_wyh 2014-06-21
  • 打赏
  • 举报
回复
引用 9 楼 stephenchern 的回复:
自己解决了 sql插入 查询 语句 前面加 set names gbk;
那你不如在安装和设置的时候都是gbk字符集。省得每次都写这个!连接字符串上也加上。
stephenchern 2014-06-14
  • 打赏
  • 举报
回复
自己解决了 sql插入 查询 语句 前面加 set names gbk;
stephenchern 2014-06-13
  • 打赏
  • 举报
回复
继续求助中ing。。。。。。。。。。。。。。。。。。。。。。。。。。。
tcmakebest 2014-06-13
  • 打赏
  • 举报
回复
所有SQL换用WideString,大胆革下命吧
leejunokokok 2014-06-13
  • 打赏
  • 举报
回复
字符集问题哈?
nm_wyh 2014-06-13
  • 打赏
  • 举报
回复
是不是XE的问题啊?实在不行把汉字Base64编码了存储,完了取出来在解码!这种办法有点坑爹。不到万不得已还是不要用.
stephenchern 2014-06-12
  • 打赏
  • 举报
回复
顶起来下。。。
stephenchern 2014-06-12
  • 打赏
  • 举报
回复
都测试了 就是不行 实在火见鬼 而且 数据库用showmessage 显示出来 正常 就是插入报错了。
luxuewei5214 2014-06-12
  • 打赏
  • 举报
回复
数据库和程序里都用unicode试试
luxuewei5214 2014-06-12
  • 打赏
  • 举报
回复
delphiXE2应该是支持uncode了,他的string默认就是widestring,你不会是用ansistring了吧

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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