绝望!!!mysql 插入泰文问题!!!

yaowei5555 2008-04-14 05:22:32
在vc和vc2005环境下如何插入泰文??在vc2005下可以直接在sqlserver中nvarchar插入泰文,但在mysql中不行,我已经把字符集设置为utf8,但还是不行,插入中,英,日,韩文都可以,
CFile file;
WCHAR *strFileName=_T("Unicode.txt");
BOOL bFlag = file.Open(strFileName,CFile::modeReadWrite);
LONG lOffset = 2, lActual;
file.Seek( lOffset, CFile::begin );
lActual = file.GetLength();
WCHAR Buffer[1024]={0};
try
{
//file.Read( (void *)&Buffer,lActual);
file.Read(Buffer,lActual);
}
catch (CFileException* e)
{
int cause = e->m_cause;
e->Delete();
}
CDatabaseEx db;
CString str(Buffer);
MessageBox(str,_T("显示"),MB_OK); 此处可以显示为泰文
try
{

if(db.OpenEx(_T("DSN=s8200;UID=root;PWD=root;")))
{
CString strSQL;
strSQL.Format(_T("INSERT INTO a_factory VALUES(10,'EV8000',1,'泰国宾馆:โรงแรมไทยแล','%s','张sir')"), str);

db.ExecuteSQL(strSQL);
……
在此感谢wqvbjhc 和supper_jerry这几天帮了很多的忙,希望更多的高手指点!thanks

...全文
641 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
yaowei5555 2008-04-18
  • 打赏
  • 举报
回复
搞定了。。
积木 2008-04-17
  • 打赏
  • 举报
回复
是不是显示字体不支持泰文啊,找个泰文专用字体看看呢?
yaowei5555 2008-04-17
  • 打赏
  • 举报
回复
odbc 啊
castlooo 2008-04-17
  • 打赏
  • 举报
回复
你用的什么连接数据库?
用微软的数据库驱动 应该没有问题

我用oracle出现过类似的问题
myullian 2008-04-16
  • 打赏
  • 举报
回复
刚开始接触,学习了
yaowei5555 2008-04-16
  • 打赏
  • 举报
回复
所有所有的都改成了utf8,但还是不行,不知道是哪地方出问题了
yaowei5555 2008-04-16
  • 打赏
  • 举报
回复
真的绝望了……
yaowei5555 2008-04-16
  • 打赏
  • 举报
回复
飞翔的鱼,我QQ154198164,麻烦加我:
我按你的做了,但由于加上strSQL = _T("SET NAMES 'utf-8'"); 时报错data too long for...
然后我在google找了一下解决方案,把my.ini中sql——mode下的一个语句去掉,结果没报错了,但数据被截断了,只能显示第一个泰字。。我把my.ini中client和server中的字符集改为了utf8,在命令行中查看字符集为
character_set_client | utf8
|
character_set_connection | utf8
|
character_set_database | utf8
|
character_set_filesystem | binary
|
character_set_results | utf8
|
character_set_server | utf8
|
character_set_system | utf8
不知道还应该如何解决,,困惑,欢迎qq交流,多谢各位高手了!!!
xkyx_cn 2008-04-16
  • 打赏
  • 举报
回复
strSQL = _T("SET NAMES 'utf-8'");
db.ExecuteSQL(strSQL);
yaowei5555 2008-04-16
  • 打赏
  • 举报
回复
my God!!!!
yaowei5555 2008-04-15
  • 打赏
  • 举报
回复
??????
yaowei5555 2008-04-15
  • 打赏
  • 举报
回复
请高手们说具体点啊
abupie 2008-04-15
  • 打赏
  • 举报
回复
即使是gbk的mysql也能插入非gbk编码的内容,读取都是ok的。
思想放宽点。
积木 2008-04-15
  • 打赏
  • 举报
回复
就是说。把你所有能想到会设定UTF8的地方都设定成UTF8。

数据库的默认编码,程序的代码格式,编译方式,所有的所有,都设置成UTF8.
yaowei5555 2008-04-15
  • 打赏
  • 举报
回复
what??
icosagon 2008-04-15
  • 打赏
  • 举报
回复
你应该把unicode 的问题彻底弄清楚,数据库的api有些只接受utf字符串类型的参数,而数据库内部字符串的存贮
形式又分为好几种,在加上源代码文件的编码格式,还有IDE设置的环境。
yaowei5555 2008-04-15
  • 打赏
  • 举报
回复
why,why,高手啊,进来帮帮我吧,我已经进死胡同了,,再解决不了,i 真的只有裸跳了!!
积木 2008-04-15
  • 打赏
  • 举报
回复
直接把 泰文 看成了 秦文 。。。
yaowei5555 2008-04-15
  • 打赏
  • 举报
回复
我按照你的改了,中文都变成了泰文,但原来的泰文还是问号,mysql字符集我设置为了utf8,请问下mysql应该如何设置才对啊
shezhynico 2008-04-15
  • 打赏
  • 举报
回复
我不知道方法但我告诉你可以用80find订阅csdn的帖子回复 有回复立刻提醒 搜索下 用google 搜索80find下载
加载更多回复(15)

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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