找回密码
 加入
搜索
查看: 6390|回复: 11

[系统综合] sqlite如何用ANSI这种编码格式读取sqlite数据库?(已解决)

  [复制链接]
发表于 2011-1-31 17:12:10 | 显示全部楼层 |阅读模式
本帖最后由 nmgwddj 于 2011-2-4 18:38 编辑

如题,默认的读取中文都是乱码。。

十分抱歉,题目弄出错别字了。



已经解决。感谢bing614
Func SQLiteRead()
        ;_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
        _SQLite_Open($SQLite_Data_Path)
        _SQLite_Query(-1, "SELECT * FROM tbl_Package ORDER BY pkgid DESC;", $hQuery)
        While _SQLite_FetchData($hQuery, $aRow, $fBinary = False) = $SQLITE_OK
                $bts = BinaryToString($aRow[1], 1)
                GUICtrlCreateListViewItem($aRow[0] & '|' & $bts & '|' & $aRow[2] & '|' & $aRow[3], $ListView1)
        WEnd
        _SQLite_Close()
EndFunc   ;==>SQLiteRead

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2011-1-31 21:57:46 | 显示全部楼层
不清楚,帮你顶一下
发表于 2011-2-1 09:51:39 | 显示全部楼层
我来帮顶, 想知道答案的人
发表于 2011-2-1 11:41:10 | 显示全部楼层
先_SQLite_FetchData读出二进程然后用BinaryToString转换就正常了.
 楼主| 发表于 2011-2-1 12:27:39 | 显示全部楼层
感谢楼上,我先测试。
 楼主| 发表于 2011-2-1 13:02:52 | 显示全部楼层
本帖最后由 nmgwddj 于 2011-2-1 13:04 编辑

_SQLite_FetchData 加了 $fBinary 参数。$aRow 的返回值还是一样的。。。怎么让它返回二进制的呢?

上代码
Func SQLiteRead()
        ;_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
    _SQLite_Open($SQLite_Data_Path)
        _SQLite_Query(-1, "SELECT * FROM tbl_Package ORDER BY pkgid DESC;", $hQuery)
        While _SQLite_FetchData($hQuery, $aRow, $fBinary) = $SQLITE_OK
                $bts = BinaryToString($aRow[1], 1)
                GUICtrlCreateListViewItem($aRow[0] & '|' & $bts & '|' & $aRow[2] & '|' & $aRow[3], $ListView1)
        WEnd
        _SQLite_Close()
EndFunc   ;==>SQLiteRead
发表于 2011-2-4 09:37:45 | 显示全部楼层
$fBinary 为TRUE
 楼主| 发表于 2011-2-4 13:02:33 | 显示全部楼层
好的,感谢我试试。
 楼主| 发表于 2011-2-4 13:28:26 | 显示全部楼层
本帖最后由 nmgwddj 于 2011-2-4 18:38 编辑
Func SQLiteRead()
        ;_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
        _SQLite_Open($SQLite_Data_Path)
        _SQLite_Query(-1, "SELECT * FROM tbl_Package ORDER BY pkgid DESC;", $hQuery)
        While _SQLite_FetchData($hQuery, $aRow, $fBinary = False) = $SQLITE_OK
                $bts = BinaryToString($aRow[1], 1)
                GUICtrlCreateListViewItem($aRow[0] & '|' & $bts & '|' & $aRow[2] & '|' & $aRow[3], $ListView1)
        WEnd
        _SQLite_Close()
EndFunc   ;==>SQLiteRead
这样写,就好了。。。
 楼主| 发表于 2011-2-4 18:38:01 | 显示全部楼层
回复 7# bing614


    不好意思。没理解您的意思。。。我看错了。把$fBinary = False就好了。真的是感谢。
发表于 2016-6-16 14:12:49 | 显示全部楼层
回复 4# bing614


    非常感谢指点!
发表于 2016-6-17 14:48:56 | 显示全部楼层
回复 4# bing614


    大大你好,AU3有没有办法以ANSI编码写入呢?我看了下自带的_SQLite_Exec是以UNICODE写入的,有的程序读只按ANSI,求指教!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-25 23:42 , Processed in 0.079456 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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