VB & 中文字符串
VB & Chinese string
我正在尝试使用 VB6 从网站捕获中文文本
用于执行此操作的简单代码如下,适用于英文网站
Private Function RequestText(sURL, Optional sMethod = "POST")
'You may have caching issues using GET
Dim XMLHTTP
Set XMLHTTP = CreateObject("microsoft.XMLHTTP")
sMethod = UCase(sMethod)
XMLHTTP.Open sMethod, sURL, False
XMLHTTP.send (Null) '"x=x"
RequestText = XMLHTTP.responseText
Set XMLHTTP = Nothing
End Function
Private Sub cmdText_Click()
Dim html as string
html = RequestText("http://url")
Clipboard.Clear
Clipboard.SetText html
MsgBox "Done"
End Sub
尝试将文本粘贴到word、记事本或db时,汉字显示为????
对此有什么解决方案吗?
VB6 在调用 API 调用时是 ANSI,因为 WIN95 不支持 unicode。在 COM 和内部它是 Unicode。因此,根据剪贴板的要求,任何 API 调用都会将您的 TEXT 转换为 ANSI。因此不要使用 TEXT。 XMLHTTP 有多种格式可供选择。
Internet Explorer 可以访问剪贴板。用它来做。
此示例代码读取剪贴板。注意,您必须导航到任何本地文件以避免出现安全提示。
Set Arg = WScript.Arguments
set WshShell = createObject("Wscript.Shell")
Set Inp = WScript.Stdin
Set Outp = Wscript.Stdout
Sub Clip
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = 0
ie.Navigate2 FilterPath & "Filter.html"
Do
wscript.sleep 100
Loop until ie.document.readystate = "complete"
txt=ie.document.parentwindow.clipboardData.GetData("TEXT")
ie.quit
If IsNull(txt) = true then
outp.writeline "No text on clipboard"
else
outp.writeline txt
End If
End Sub
我正在尝试使用 VB6 从网站捕获中文文本
用于执行此操作的简单代码如下,适用于英文网站
Private Function RequestText(sURL, Optional sMethod = "POST")
'You may have caching issues using GET
Dim XMLHTTP
Set XMLHTTP = CreateObject("microsoft.XMLHTTP")
sMethod = UCase(sMethod)
XMLHTTP.Open sMethod, sURL, False
XMLHTTP.send (Null) '"x=x"
RequestText = XMLHTTP.responseText
Set XMLHTTP = Nothing
End Function
Private Sub cmdText_Click()
Dim html as string
html = RequestText("http://url")
Clipboard.Clear
Clipboard.SetText html
MsgBox "Done"
End Sub
尝试将文本粘贴到word、记事本或db时,汉字显示为???? 对此有什么解决方案吗?
VB6 在调用 API 调用时是 ANSI,因为 WIN95 不支持 unicode。在 COM 和内部它是 Unicode。因此,根据剪贴板的要求,任何 API 调用都会将您的 TEXT 转换为 ANSI。因此不要使用 TEXT。 XMLHTTP 有多种格式可供选择。
Internet Explorer 可以访问剪贴板。用它来做。
此示例代码读取剪贴板。注意,您必须导航到任何本地文件以避免出现安全提示。
Set Arg = WScript.Arguments
set WshShell = createObject("Wscript.Shell")
Set Inp = WScript.Stdin
Set Outp = Wscript.Stdout
Sub Clip
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = 0
ie.Navigate2 FilterPath & "Filter.html"
Do
wscript.sleep 100
Loop until ie.document.readystate = "complete"
txt=ie.document.parentwindow.clipboardData.GetData("TEXT")
ie.quit
If IsNull(txt) = true then
outp.writeline "No text on clipboard"
else
outp.writeline txt
End If
End Sub