iT邦幫忙

0

SQLite JSON 型態的欄位無法寫入中文

如題,想詢問版上有沒有人有碰過類似的情況有解呢?
附上程式碼:

# -*- coding: utf-8 -*-
import json
from data_struct import Test, create_session
from pprint import pprint

with open("./test_data.json", encoding="utf8") as f:
    data = json.load(f)

    session = create_session()
    for row in data[0]["result"]["records"]:
        data_obj = {"records": row}
        session.add(Test(**data_obj))
        session.commit()
        print(row)
    session.close()

output:
https://ithelp.ithome.com.tw/upload/images/20211123/20144024W2zu244Q5o.png

看更多先前的討論...收起先前的討論...
fillano iT邦超人 1 級 ‧ 2021-11-23 22:48:58 檢舉
\u5e74\u5ea6 <-這並不是亂碼
這部分我知道,是編碼問題,
不過單純用 print 是能印出中文,寫入到 JSON 欄位後就變這樣了
另外使用 mysql 的時候可以正常顯示中文
那不是單純編碼的問題。只是JSON的一種表現處理。
只要你是用JSON的方式,還是會出現正確的中文。
但你直接來字串式的JSON。就會這樣。
理解了 ,感謝!!
照著概念直接操作一次,可以正常顯示!!

尚未有邦友回答

立即登入回答