掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
UTF-8でE6 A0 ACの文字をVB6で印刷できるのか? (ID:139636)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
VB6で、UTF-8の文字コードE6 A0 AC(UnicodeではU+682C)(きへんに色という文字)をPrinterオブジェクトで印刷しようとして、Unicodeに変換したのですが、?と変換されてしまい印刷できません。 Dim byt(2) As Byte Dim hogehoge As String byt(0) = &HE6 byt(1) = &HA0 byt(2) = &HAC hogehoge = ADOS_Decode_UTF8(byt) Printer.Print hogehoge '------------------UTF-8からUnicodeへの変換メソッド Public Function ADOS_Decode_UTF8(ByRef bytIn() As Byte) As String ADOS_Decode_UTF8 = ADOS_Decode("UTF-8", bytIn) End Function ' 関数名 : ADOS_Decode ' 返り値 : UNICODE文字列 ' 引き数 : cset : 入力文字データのキャラクタセット名 ' : bytIn : 入力文字データ ' 機能説明 : 入力文字データをUNICODEに変換する ' 備考 : Private Function ADOS_Decode(ByVal cset As String, ByRef bytIn() As Byte) As String On Error GoTo ErrHandler Dim objStm As ADODB.Stream Set objStm = New ADODB.Stream objStm.Open objStm.Type = adTypeBinary objStm.Write bytIn objStm.Position = 0 objStm.Type = adTypeText objStm.Charset = cset ADOS_Decode = objStm.ReadText() objStm.Close Set objStm = Nothing Exit Function ErrHandler: Debug.Print "文字コード変換エラー:" & Err.Description If objStm Is Nothing = False Then objStm.Close Set objStm = Nothing End Function
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.