- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 168
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2025-7-12
               
|
本帖最後由 Hsieh 於 2010-6-1 14:54 編輯
回復 6# vpower
網頁架構不同,這種網頁的查詢
是將查詢參數直接寫到網址內
不過網頁的參數採用utf_8編碼
若excel儲存格內輸入big5必需轉成utf_8十六進位碼才能代入
在網路上找到api函數的WideCharToMultiByte函數
但轉出來就是跟網址列的不同
請前輩指導該如何修正程式- Private Const CP_UTF8 = 65001
- 'Private Declare Function MultiByteToWideChar Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpMultiByteStr As Long, ByVal cchMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long
- Private Declare Function WideCharToMultiByte Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByVal lpMultiByteStr As Long, ByVal cchMultiByte As Long, ByVal lpDefaultChar As Long, ByVal lpUsedDefaultChar As Long) As Long
- Public Function UTF8_Encode(ByVal Text As String) As String
- Dim sBuffer As String
- Dim lLength As Long
- Dim mystr()
- If Text <> "" Then
- lLength = WideCharToMultiByte(CP_UTF8, 0, StrPtr(Text), -1, 0, 0, 0, 0)
- sBuffer = Space$(lLength)
- lLength = WideCharToMultiByte(CP_UTF8, 0, StrPtr(Text), -1, StrPtr(sBuffer), Len(sBuffer), 0, 0)
- sBuffer = StrConv(sBuffer, vbUnicode)
- UTF8_Encode = Hex(Asc(Left$(sBuffer, lLength - 1)))
- Else
- UTF8_Encode = ""
- End If
- End Function
複製代碼
uft_8.rar (7.17 KB)
|
|