次の方法で共有

Access 2007 でサロゲートペア文字入力すると文字化けが発生

Anonymous
2011-09-14T17:59:10+00:00

XP(JIS2004フォント導入済み)Access2007でサロゲートペア文字(例:㐂)を連結フィールドで直接テーブルへ出力する場合は、文字化けは起こらないのですが、

VBAで入力されたフィールドから文字列を取得した時点で"?"になり文字化けしてしまいます。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2011-09-15T02:06:44+00:00

AccessのテーブルやテキストボックスではUnicodeに対応しているのでUnicode文字(サロゲートペア文字も含む)を表示できますが、VBAのエディタ上ではUnicodeに対応していないので表示できません。

Unicode文字を含むデータをVBAの変数に代入しただけでは文字化けはしませんが、文字列操作関数にはUnicode文字非対応のものがあります。

例えば、

Dim s As String

s = Me.テキスト1

Me.テキスト2 = s

では、テキスト1 にUnicode文字が含まれていても、テキスト2には正常に表示されます。

Dim s As String

s = StrConv(Me.テキスト1, vbWide)

Me.テキスト2 = s

とすると、Unicode文字は文字化けして(?になる)表示されます。

文字化けしない関数もあるので、具体的にどのようなコードを記述して文字化けするのか提示されてはどうでしょうか。

実は私もこのへんは実際に詳しく検証してないので、これ以上のアドバイスは難しいので、

他の方のアドバイスに期待したいところです。

参考までに、別の掲示板でのスレッドを紹介しておきます。

サロゲートペア対応 --Access Club Access 初・中級者 FORUM--

この回答は役に立ちましたか?

0 件のコメント コメントはありません

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2011-09-22T04:20:23+00:00

    hatena19 さん、コメントありがとうございます。

    健長谷川 さん、こんにちは。

    hatena19 さんからいただいたコメントがご参考になればと思います。

    同じような現象でお悩みの方にもご参考になるよう、今回は私の方で \[回答としてマーク\] をいたしました。

    もちろんマーク後も返信は出来ますので、さらに質問がある場合は、ご遠慮なく投稿を続けてください。

    確認の結果なども、よろしければご返信してみてくださいね。

    今後も Answers をよろしくお願いします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません