Tags:

ด้วยผมทำการบันทึกข้อมูลที่เป็น json ลงฐานข้อมูล mysql และใช้งาน lib ตัว sqlalchemy ครับ
ปรากฏว่ามันบันทึกข้อมูล ภาษาไทย ที่อยู่ในรูปแบบ \u0exx ผิดพลาดครับ
คือ พอบันทึกแล้ว ตัวแบล็กแสลด () มันหายไป เมื่ออยู่ในฐานข้อมูล ครับ

เช่น {"type": "text", "orid": "1", "text": "\u0e04\u0e31\u0e1a"}

ในฐานข้อมูลเป็น

{"type": "text", "orid": "1", "text": "u0e04u0e31u0e1a"}

ทำให้ตอนที่ผม convert กลับมีปัญหามากเลยครับ
การแก้ไขปัญหาของผมคือ เพิ่ม \ เป็น \\u0exx ก็บันทึกได้ แต่พอจะนำข้อมูลไปใช้งานอีกตารางหนึ่ง
ตัว \ มันก็หายไปอีก ตอนนี้ไล่ตามแก้ไขไปไม่รู้จบเลยครับ
รบกวนแนะนำการแก้ไขด้วยครับ
ข้อมูล
python 3.6
sqlalchemy 1.2
windows 20018

Get latest news from Blognone
By: itpcc
ContributoriPhoneRed HatUbuntu
on 27 February 2018 - 20:09 #1035924
itpcc's picture

คิดว่าคงจะเหมือน PHP นะครับ คือควรทำ escape string ก่อนบันทึกลง DB


บล็อกส่วนตัวที่อัพเดตตามอารมณ์และความขยัน :P

By: tontan
ContributorAndroidSymbianUbuntu
on 28 February 2018 - 01:06 #1035955
tontan's picture

ได้ใส่ # -- coding: utf-8 -- เข้าไปในหัวโค้ดบันทึกข้อมูลไหมครับ


บล็อก: wannaphong.com และ Python 3

By: khao_lek on 28 February 2018 - 08:34 #1035970 Reply to:1035955

ใส่แล้วครับ # -- coding: utf-8 --
ผมใส่ทุกไฟล์ที่เขียนเลยครับ