找回密码
 加入
搜索
查看: 6734|回复: 22

[系统综合] 请教一个数据编码转换问题[已解决]

  [复制链接]
发表于 2016-6-23 14:21:14 | 显示全部楼层 |阅读模式
本帖最后由 mikezunya 于 2016-6-24 13:50 编辑

请教下各位,单位有个打卡程序是sqlite数据库的,程序是以ANSI编码去读写的,AU3的操作都是以UNICODE编码进行读写的,这样一来公司的程序读取出来就乱码了。我尝试过用_WinAPI_MultiByteToWideChar、_WinAPI_WideCharToMultiByte转编码,但以失败告终,先来请教下各位。
发表于 2016-6-23 15:37:49 | 显示全部楼层
回复 1# mikezunya

老實說 不是很能理解  資料庫 的編碼  跟 AU3 的 UNICODE 甚麼關係??

方便提供 SQLLITE 的資料庫嗎??
发表于 2016-6-23 15:58:39 | 显示全部楼层
回复 1# mikezunya

那把AU3 改成 ANSI 呢 試看看
#AutoIt3Wrapper_UseAnsi=y
 楼主| 发表于 2016-6-23 16:18:29 | 显示全部楼层
本帖最后由 mikezunya 于 2016-6-24 13:35 编辑

回复 2# kk_lee69


本帖子中包含更多资源

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

×
发表于 2016-6-23 16:25:10 | 显示全部楼层
回复 4# mikezunya

你的意思是  簡單的說 就是 原本程序讀取正常 但是 你用AU3 寫入後 用原本的讀取就會不正常嗎??
发表于 2016-6-23 16:31:53 | 显示全部楼层
回复 4# mikezunya


    你給我的資料 沒 中文字吧  只有一筆紀錄 事嗎??
发表于 2016-6-23 16:37:50 | 显示全部楼层
回复 6# mikezunya

這就是我覺得怪的地方  你第二張圖為何要選 UNICODE 呢??  第二張圖  不可以依樣選 ANSI 嗎
发表于 2016-6-23 16:38:34 | 显示全部楼层
回复 8# kk_lee69

資料庫是 ANSI 你用 UNCODE 去讀取當然會亂碼啊
发表于 2016-6-23 16:38:54 | 显示全部楼层
回复 6# mikezunya


    資料庫是 ANSI 你用 UNCODE 去讀取當然會亂碼啊
发表于 2016-6-23 16:44:39 | 显示全部楼层
回复 6# mikezunya


    方便的話是否 可以提供 兩筆資料  一筆是 原本程序寫的  一筆是你用你的程序寫的  在提供一下 你寫的程式 看看 呢  要有中文 的
 楼主| 发表于 2016-6-23 17:22:02 | 显示全部楼层
本帖最后由 mikezunya 于 2016-6-24 13:35 编辑

回复 10# kk_lee69


    现在就是要解决这个问题,编码转换的问题
发表于 2016-6-23 17:31:18 | 显示全部楼层
回复 12# mikezunya

我當然理解你的問題 但是我覺得  有個問題點是.......

原本程序  已 ANSI 讀取 與 寫入....... 讀取的時候 ANSI 對吧  ~~~~這是第一張圖表式的意思

AU3 寫入後   你因為 AU3 是 已 UNICODE 寫入  ........所以你的第二張圖以 UNICODE 讀取 結果是亂碼 對嗎???


如果以上都是對的    那你的問題來了  AU3 寫入後 存在於 資料庫上的 一樣是 以ANSI 的編碼才對  
所以你的第二張圖應該還是以 ANSI 方式讀取才對.....
 楼主| 发表于 2016-6-23 17:35:27 | 显示全部楼层
本帖最后由 mikezunya 于 2016-6-23 17:37 编辑

回复 13# kk_lee69


    哈哈,是我大意了,言归正传,我先试试你说的那个方法可行不行。
    貌似已经不支持了,我的是3390,-《 跳过 #PRE_UseAnsi 定义,因为 ANSI 不再被支持.》
发表于 2016-6-23 17:42:44 | 显示全部楼层
本帖最后由 kk_lee69 于 2016-6-23 17:44 编辑

回复 14# mikezunya

即使這樣 我也不認為 會有問題才對的 .....

_SQLite_Open 的時候
[可選參數] 編碼模式標誌, 只在創建時使用. 默認為 $SQLITE_ENCODING_UTF8

你開啟的時候 記得改成 ANSI 呢
 楼主| 发表于 2016-6-23 21:22:32 | 显示全部楼层
回复 15# kk_lee69


    sql_open打开可以用ANSI模式?我看了下UDF,只有这几种
Local $encoding[3] = ["8", "16", "16be"]
        _SQLite_Exec($avRval[2], 'PRAGMA encoding="UTF-' & $encoding[$iEncoding] & '";')
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-22 03:41 , Processed in 0.082191 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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