找回密码
 加入
搜索
楼主: kingfirekkk

[系统综合] [已解决]----Autoit+MYSQL中文支持范例(见15楼源代码)

 火... [复制链接]
发表于 2010-12-16 16:56:11 | 显示全部楼层
学  习  不错 有点体会
发表于 2010-12-17 19:32:53 | 显示全部楼层
MYSQL完全看不懂得飘过。。。
发表于 2010-12-18 09:35:53 | 显示全部楼层
太复杂,要学的很多
发表于 2011-2-10 20:02:16 | 显示全部楼层
强烈支持。。。。
发表于 2012-4-16 11:54:44 | 显示全部楼层
留个脚印,我就要要这个 谢谢
发表于 2012-5-11 14:46:50 | 显示全部楼层
协作写哦这些横需要了
发表于 2012-5-15 19:54:05 | 显示全部楼层
我也遇到类似问题,学习下。
发表于 2012-7-31 10:05:57 | 显示全部楼层
谢谢分享!
发表于 2012-12-20 22:21:43 | 显示全部楼层
回复 15# ceoguang


    请教:
  if _MySQL_Real_Query($MysqlConn, $sMySqlStatement,StringLen($sMySqlStatement) * 2) <> $MYSQL_SUCCESS Then
中的StringLen($sMySqlStatement) * 2是什么意思呢,不加这个,是否可以有其他办法呢
发表于 2012-12-21 18:09:09 | 显示全部楼层
回复 25# wsfda
因为包含中文或其它双字节字符时StringLen依然解释成一个字符为一字节
例如StringLen("中文")返回的就是2,而实际应该是4(不包括\0)
如果只用内置函数,除了*2就别无选择了.当然,你可以用_WinAPI_WideCharToMultiByte,那样可以节省很多空间
发表于 2012-12-21 18:24:57 | 显示全部楼层
回复 26# ceoguang

有点懂了,感谢前辈的指点,
还有一个疑问就是关于_MySQL_Real_Query这个函数的解释,E文太差翻译后也不能完全理解UDF中这个函数的各项参数意义
您在此函数后面追加StringLen($sMySqlStatement) * 2,相对于这个函数,是给他传递了什么样的一个参数呢,可能我的表达有点问题,不知您是理解,请见谅
发表于 2012-12-26 15:46:55 | 显示全部楼层
这个函数实际上调用的是MYSQL的C API
第一个参数是MYSQL*类型的指针(可以理解为一个句柄,实际为一个结构体),AU3的DLLCALL传入的类型为ptr
第二个参数是cont char*(字符串常量),DLLCALL可以直接用str作为参数的类型
第三个参数是第二个参数的空间大小,类型为ulong。因为mysql_real_query支持二进制据查询
与mysql_query不同的地方在于mysql指令不会被\0截断.因为它总是按照第三个参数提供的长度进行拷贝.
发表于 2012-12-26 17:23:44 | 显示全部楼层
回复 28# ceoguang


    感谢前辈,解释的很到位,明白了,感谢!!!
发表于 2013-12-1 16:06:40 | 显示全部楼层
好好好一定要试下
发表于 2013-12-1 16:39:47 | 显示全部楼层
学习一下,平时MYSQL少,MS多
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-22 15:34 , Processed in 0.075514 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表