AccessでレコードセットからDictionary(連想配列オブジェクトへ漢字、半角カタカナを含む日本語文字列を入れ、文字列として確認したときに文字化けが発生してしまうのですが、何か解決方法はないでしょうか?
- 問題の文字列
例えば、このように文字化けが発生してしまいます。
"product_name": "SKS2\u677F\uFF7D\uFF77\uFF9D\uFF8A\uFF9F\uFF7D"
- やってみたこと
文字コードの問題のような気はするのですが、strConvを使用してみてもダメでしたし、うまくいきませんでした。
- 現状分かっていること
accessのテキストボックスコントロールから値を取得した場合には、文字化けは起こりません。
レコードセットから値を取得し、オブジェクトへ値を代入して値を確認すると文字化けします。
- コード
vba
1 Dim rsW As DAO.RecordSet 2 Dim strSQL As String 3 Dim JsonObject As Object 4 Dim records As String 5 6 Dim strTest As String 7 8 strSQL = "SELECT * FROM dbo_~~テーブル" & vbLf 9 Set rsW = CurrentDb.OpenRecordSet(strSQL) 10 11 ' 連想配列オブジェクトを宣言 12 Set JsonObject = New Dictionary 13 Do Until rsW.EOF 14 15 strTest = rsW!品名 16 17 JsonObject.Add "material_code", rsW!○○コード 18 JsonObject.Add "shape_code", rsW!□コード 19 JsonObject.Add "surface_code", rsW!××コード 20 JsonObject.Add "product_name", 値1 21 JsonObject.Add "thick", rsW!値2 22 JsonObject.Add "width", rsW!値3 23 JsonObject.Add "length", rsW!値4 24 25 rsW.MoveNext 26 27 records = records + JsonConverter.ConvertToJson(JsonObject, Whitespace:=2) + "," 28 Debug.Print records 29 JsonObject.RemoveAll 30 Loop
回答1件
あなたの回答
tips
プレビュー