[リストへもどる]
一括表示

投稿時間:2003/05/26(Mon) 09:36
投稿者名:ulthima
URL :
タイトル:
openURLの文字化けについて
openURLを使ってホームページのHTML情報を読み込んだのですが、内容を見ると
2001年9月8日が2001ヌッ9キ・8ニ・の様になっています。どなたか対策方法
を教えて頂けませんでしょうか。

投稿時間:2003/05/26(Mon) 10:03
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: openURLの文字化けについて
> openURLを使ってホームページのHTML情報を読み込んだのですが、内容を見ると
> 2001年9月8日が2001ヌッ9キ・8ニ・の様になっています。どなたか対策方法
> を教えて頂けませんでしょうか。

その化け方は、"EUC-JP"データを "Shift_JIS"とみなして読み込んだ場合の物ですね。
(EUCをSJISに変換すると、半角カナが頻出するような化け方をする可能性が高いです)

過去ログ等を参考にして、適切な文字コード変換処理を施して下さい。

投稿時間:2003/05/26(Mon) 12:11
投稿者名:ulthima
URL :
タイトル:
Re^2: openURLの文字化けについて
> > openURLを使ってホームページのHTML情報を読み込んだのですが、内容を見ると
> > 2001年9月8日が2001ヌッ9キ・8ニ・の様になっています。どなたか対策方法
> > を教えて頂けませんでしょうか。
>
> その化け方は、"EUC-JP"データを "Shift_JIS"とみなして読み込んだ場合の物ですね。
> (EUCをSJISに変換すると、半角カナが頻出するような化け方をする可能性が高いです)
>
> 過去ログ等を参考にして、適切な文字コード変換処理を施して下さい。

魔界の仮面弁士さんありがとうございます。
過去ログを見てサンプルを入手しましたが、Microsoft ActiveX Data Objectのバージョン
が2.1までしかありません。また、
Public Function ConvertCharset( _
        ByRef SrcData() As Byte, _
        ByVal SrcCharset As String, _
        ByVal DestCharset As String) As Byte()
    Dim Src As ADODB.Stream
    Dim Dst As ADODB.Stream
の部分がコードエラーとなってしまいます。
何か対処はありますでしょうか?
VBはまだ始めたばかりの素人なので、もう少し詳しく教えて頂けませんでしょうか。

投稿時間:2003/05/26(Mon) 13:05
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re^3: openURLの文字化けについて
> 過去ログを見てサンプルを入手しましたが、Microsoft ActiveX Data Objectのバージョン
> が2.1までしかありません。また、

2.1ではStreamオブジェクトが利用できません。もしStreamを使いたいのであれば、
http://www.microsoft.com/japan/msdn/data/default.asp
から、バージョン2.5以上のMDAC(Microsoft Data Access Components)を入手して下さい。

# Streamを準備できない場合は、mlang.dll のConvertINetMultiByteToUnicode APIを
# 直接呼び出して変換する……という手もあります。

> Public Function ConvertCharset( _
>         ByRef SrcData() As Byte, _
>         ByVal SrcCharset As String, _
>         ByVal DestCharset As String) As Byte()
>     Dim Src As ADODB.Stream
>     Dim Dst As ADODB.Stream
> の部分がコードエラーとなってしまいます。

上記のどの部分でしょうか?

Function ConvertCharset で落ちているようであれば、As Byte() のかわりに
As Variantで代用してください。

その後の As ADODB.Stream の部分で落ちているのであれば、
Microsoft ActiveX Data Object の 2.5, 2.6, 2.7, 2.8 のいずれかを
参照設定しておく必要があります。(2.1, 2.0, 1.5, 1.0ではStremを利用できません)

投稿時間:2003/05/26(Mon) 13:34
投稿者名:ulthima
URL :
タイトル:
Re^4: openURLの文字化けについて
> > 過去ログを見てサンプルを入手しましたが、Microsoft ActiveX Data Objectのバージョン
> > が2.1までしかありません。また、
>
> 2.1ではStreamオブジェクトが利用できません。もしStreamを使いたいのであれば、
> http://www.microsoft.com/japan/msdn/data/default.asp
> から、バージョン2.5以上のMDAC(Microsoft Data Access Components)を入手して下さい。
>
> # Streamを準備できない場合は、mlang.dll のConvertINetMultiByteToUnicode APIを
> # 直接呼び出して変換する……という手もあります。
>
> > Public Function ConvertCharset( _
> >         ByRef SrcData() As Byte, _
> >         ByVal SrcCharset As String, _
> >         ByVal DestCharset As String) As Byte()
> >     Dim Src As ADODB.Stream
> >     Dim Dst As ADODB.Stream
> > の部分がコードエラーとなってしまいます。
>
> 上記のどの部分でしょうか?
>
> Function ConvertCharset で落ちているようであれば、As Byte() のかわりに
> As Variantで代用してください。
>
> その後の As ADODB.Stream の部分で落ちているのであれば、
> Microsoft ActiveX Data Object の 2.5, 2.6, 2.7, 2.8 のいずれかを
> 参照設定しておく必要があります。(2.1, 2.0, 1.5, 1.0ではStremを利用できません)
魔界の仮面弁士さんのご指摘通り行ったら動作しました。
 魔界の仮面弁士 → 魔界の仮面弁士 が出力されました
本変換ソフトを自作のopenURL使用ソフトに組み込んでトライして見ます。
分からなくなったらまた投稿いたします。
本当にありがとうございました。

投稿時間:2003/05/26(Mon) 13:47
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^5: openURLの文字化けについて
場合によってはこちらのサンプルでもいいのでは?

Re: インターネット上の文字列取得 - 魔界の仮面弁士 04/09-10:46 No.3489

投稿時間:2003/05/26(Mon) 14:23
投稿者名:ulthima
URL :
タイトル:
Re^6: openURLの文字化けについて
> 場合によってはこちらのサンプルでもいいのでは?
>
> Re: インターネット上の文字列取得 - 魔界の仮面弁士 04/09-10:46 No.3489

花ちゃんさん、魔界の仮面弁士さん両方とも正常に動作しました。

本当にありがとうございました。