Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


416 / 2272 ツリー ←次へ | 前へ→

【11803】中国語(簡体字)が文字化け さき 10/9/30(木) 15:43 質問[未読]
【11804】Re:中国語(簡体字)が文字化け 247b 10/10/1(金) 22:08 発言[未読]
【11807】Re:中国語(簡体字)が文字化け さき 10/10/6(水) 10:04 回答[未読]
【11809】Re:中国語(簡体字)が文字化け 247b 10/10/6(水) 10:23 発言[未読]
【11806】Re:中国語(簡体字)が文字化け YU-TANG 10/10/3(日) 5:05 発言[未読]
【11808】Re:中国語(簡体字)が文字化け さき 10/10/6(水) 10:10 回答[未読]
【11810】Re:中国語(簡体字)が文字化け YU-TANG 10/10/6(水) 11:51 発言[未読]
【11819】Re:中国語(簡体字)が文字化け さき 10/10/25(月) 10:39 質問[未読]
【11821】Re:中国語(簡体字)が文字化け YU-TANG 10/10/25(月) 23:48 回答[未読]

【11803】中国語(簡体字)が文字化け
質問  さき  - 10/9/30(木) 15:43 -

引用なし
パスワード
   簡体字が含まれるサイトのHTMLを取得し、テーブルに保存する
プログラムを作成しているのですが、取得した情報を変数に格納した
ところ、簡体字が「?」になってしまいます。

エンコードが正しく出来ていないことはわかるのですが、
解決方法を見つけることが出来ません。

どなたかお教え頂けないでしょうか。
よろしくお願いします。

【11804】Re:中国語(簡体字)が文字化け
発言  247b  - 10/10/1(金) 22:08 -

引用なし
パスワード
   ▼さき さん:

直接の答えにはなりませんが、
?になるのは、おそらくUnicode化けです。
Strconv関数を使ったらどうでしょうか。

【11806】Re:中国語(簡体字)が文字化け
発言  YU-TANG  - 10/10/3(日) 5:05 -

引用なし
パスワード
   こんばんは、YU-TANG です。

> 取得した情報を変数に格納した
> ところ、簡体字が「?」になってしまいます。

「どこ」に対して「どのような手法」で出力したのか明記してください。
それによって、まったく答えが違います。

例)
「イミディエイト ウィンドウ」に対して「Debug.Print」で出力した。
↑化けて当たり前。VBE は ASCII/SJIS しか扱えない。

それでは。

【11807】Re:中国語(簡体字)が文字化け
回答  さき  - 10/10/6(水) 10:04 -

引用なし
パスワード
   ▼247b さん:
>▼さき さん:
>
>直接の答えにはなりませんが、
>?になるのは、おそらくUnicode化けです。
>Strconv関数を使ったらどうでしょうか。

ご回答頂き、ありがとうございます。

strconv(object,vbNarrow)を使っているのですが、
?になってしまう状況です。

【11808】Re:中国語(簡体字)が文字化け
回答  さき  - 10/10/6(水) 10:10 -

引用なし
パスワード
   >例)
>「イミディエイト ウィンドウ」に対して「Debug.Print」で出力した。
>↑化けて当たり前。VBE は ASCII/SJIS しか扱えない。

ご回答、ありがとうございます。

例に挙げて頂いた通り、string型の変数にHTLMを取得後、
その変数に対してDebug.Printで出力しました。

VBE は ASCII/SJIS しか扱えない、ということは、
そもそも簡体字の取得は不可能ということなのでしょうか。

もし解決策があれば、お教え頂ければありがたいです。

【11809】Re:中国語(簡体字)が文字化け
発言  247b  - 10/10/6(水) 10:23 -

引用なし
パスワード
   ▼さき さん:
>▼247b さん:
>>▼さき さん:
>>
>>直接の答えにはなりませんが、
>>?になるのは、おそらくUnicode化けです。
>>Strconv関数を使ったらどうでしょうか。
>
>ご回答頂き、ありがとうございます。
>
>strconv(object,vbNarrow)を使っているのですが、
>?になってしまう状況です。

vbFromUnicode
を使うとどうでしょう。

【11810】Re:中国語(簡体字)が文字化け
発言  YU-TANG  - 10/10/6(水) 11:51 -

引用なし
パスワード
   こんにちは、YU-TANG です。

> VBE は ASCII/SJIS しか扱えない、ということは、
> そもそも簡体字の取得は不可能ということなのでしょうか。

表示は不可能です。VBE は Unicode ウィンドウではありませんから。
日本語環境下で SJIS にマップできない文字は、イミディエイト
ウィンドウに表示できません(正確には、代替文字に置き換え
られて表示されます)。
取得はまたぜんぜん別の話です。VBE ではなく VBA の話です。

Access のフォームは Unicode ウィンドウなので、フォームの
テキストボックスに適切な(簡体字を表現できる)フォントを
設定して、テーブルの内容を表示させてみましょう。
変数の中身が Unicode (UTF-16) であれば、化けずに表示できる
はずです。
それで化けたら、HTML ソースの取得か格納方法が間違っています。

それでは。

【11819】Re:中国語(簡体字)が文字化け
質問  さき  - 10/10/25(月) 10:39 -

引用なし
パスワード
   YU-TANG さん、ご返信、ありがとうございました。
また、返信が遅くなってしまいまして、大変申し訳ありません。

>Access のフォームは Unicode ウィンドウなので、フォームの
>テキストボックスに適切な(簡体字を表現できる)フォントを
>設定して、テーブルの内容を表示させてみましょう。
>変数の中身が Unicode (UTF-16) であれば、化けずに表示できる
>はずです。

大変お恥ずかしいのですが、上記のアドバイスに対して、
解らない点が2点あります。

1.テキストボックスに適切な(簡体字を表現できる)フォントを設定
2.変数の中身が Unicode (UTF-16) であれば、化けずに表示できる

1については、テキストボックスのフォント設定をどのようにすればいいのか、
2については、UTF-16へのUnicode変換の方法が解りません。


strConv関数で、LCIDなどを設定すればいい?等と、色々と試行錯誤していますが
解決できていません。もしよろしければ、ご助言頂けないでしょうか。
よろしくお願い致します。

【11821】Re:中国語(簡体字)が文字化け
回答  YU-TANG  - 10/10/25(月) 23:48 -

引用なし
パスワード
   こんばんは、YU-TANG です。

▼さき さん:
> 1については、テキストボックスのフォント設定をどのようにすればいいのか、

何が分かりませんか?
テキストボックスのフォントを設定するためのプロパティが
どこにあるのか分からないのでしょうか?
プロパティシートの [書式] タブの [フォント名] という欄
です。ツールバーからでも変更できたと思いますが。
フォントに何を指定できるのかは、そちらの環境依存なので
分かりません。SimSun とか MingLiU とか、その辺だろう
とは思いますが、自分は使ったことが無いので詳しくは
知りません。ふつうに Unicode フォントなら (デザイン性は
ともかく) 表示はできると思いますが。

▼さき さん:
> 2については、UTF-16へのUnicode変換の方法が解りません。

変換元の文字コードは何ですか?
「変換元の文字コード UTF-16 変換」あたりのキーワードで
検索すれば、変換方法が多数ヒットすると思います。

ただ、ここまでのご投稿を読む限りでは文字コードを意識
して処理を行っている感触があまり伝わってこないので、
ソース取得時点ですでに文字列を破壊したりしていないか
やや気がかりです。

それでは。

416 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078193
(SS)C-BOARD v3.8 is Free