php ใช้ iconv('TIS-620','UTF-8', $x_row->U_NAME) แล้ว python ใช้อะไร เพราะผมต้องการเขียน web ให้ format file ของ code เป็น utf8 แต่ databaser ผมเก็บเป็น tis-620 ครับ หาโค้ดตัวอย่างยังไม่เจอเลยครับ
python ก็มี iconv นะครับ
LewCPE
lewcpe.com, @wasonliw
ใช้ unicode ซึ่งเป็น builtin class เลยก็ได้ครับ
u = unicode("This is a tis-620 text.", 'tis-620') # เปลี่ยน TIS-620 เป็น UTF-8 t = u.encode('tis-620') # เปลี่ยนกลับ UTF-8 เป็น TIS-620
BioLawCom.De
เพิ่มเติมครับ หากไม่มีความจำเป็นต้องใช้ TIS-620 ผมว่าเปลี่ยนฐานข้อมูลเป็น UTF-8 ให้หมดเลยจะง่ายกว่าครับ เพราะการเปลี่ยน encoding ไปมาก็เสีย performance ไประดับนึงเหมือนกัน
ขอบคุณหลายๆ เด้อครับ จริงๆแล้วปัญหาของผมอยู่ที่ผมใช้ firebird เป็น database ในการลองเขียนดูครับ ติดนิสัยมาจากการเขียนโปรแกรมด้วย delphi เพราะ firebird เล็กและทำงานแบบ transaction ได้ copy ตัวดาต้าเบสเก็บไว้ง่ายและสะดวกในการนำมาใช้ทีหลัง แต่ดันหาตัว database manager ที่จะมาสั่ง sql กับฟิลด์ที่เป็น utf-8 ลำบากนะครับ ยกเว้น http://www.ibwebadmin.net/ ซึ่งเป็น เป็นแบบ web แต่ไม่สะดวกนะครับแต่ ตอนนี้ผมมีตัวที่ช่วยแก้ปัญหาดังกล่าวได้แล้วครับ ผมใช้ DbVisualizer-6.0 ในการ query ข้อมูลดูนะครับ แต่พอใช้สร้าง database ใช้ Firebird Maestro แทน ตอนนี้ก็เลยเปลี่ยนมาเก็บข้อมูลแบบ utf-8 ไปเลย ยุ่งยากนิดหน่อยแต่ก็ ok
มีอีกวิธีคือ ถ้าใช้ mysql (db เจ้าอื่นไม่รู้ทำได้ไหม) คือเซ็ต connection charset เป็น utf-8 ครับ แล้วเวลาเรียกข้อมูลมันจะแปลงให้เอง ใช้คำสั่ง SET NAMES utf8
---------- iPAtS
iPAtS
python ก็มี iconv นะครับ
LewCPE
lewcpe.com, @wasonliw
ใช้ unicode ซึ่งเป็น builtin class เลยก็ได้ครับ
u = unicode("This is a tis-620 text.", 'tis-620') # เปลี่ยน TIS-620 เป็น UTF-8
t = u.encode('tis-620') # เปลี่ยนกลับ UTF-8 เป็น TIS-620
BioLawCom.De
เพิ่มเติมครับ หากไม่มีความจำเป็นต้องใช้ TIS-620 ผมว่าเปลี่ยนฐานข้อมูลเป็น UTF-8 ให้หมดเลยจะง่ายกว่าครับ เพราะการเปลี่ยน encoding ไปมาก็เสีย performance ไประดับนึงเหมือนกัน
BioLawCom.De
ขอบคุณหลายๆ เด้อครับ
จริงๆแล้วปัญหาของผมอยู่ที่ผมใช้ firebird เป็น database ในการลองเขียนดูครับ
ติดนิสัยมาจากการเขียนโปรแกรมด้วย delphi เพราะ firebird เล็กและทำงานแบบ transaction ได้
copy ตัวดาต้าเบสเก็บไว้ง่ายและสะดวกในการนำมาใช้ทีหลัง
แต่ดันหาตัว database manager ที่จะมาสั่ง sql กับฟิลด์ที่เป็น utf-8
ลำบากนะครับ ยกเว้น http://www.ibwebadmin.net/ ซึ่งเป็น
เป็นแบบ web แต่ไม่สะดวกนะครับแต่ ตอนนี้ผมมีตัวที่ช่วยแก้ปัญหาดังกล่าวได้แล้วครับ
ผมใช้ DbVisualizer-6.0 ในการ query ข้อมูลดูนะครับ แต่พอใช้สร้าง database ใช้
Firebird Maestro แทน ตอนนี้ก็เลยเปลี่ยนมาเก็บข้อมูลแบบ utf-8 ไปเลย
ยุ่งยากนิดหน่อยแต่ก็ ok
มีอีกวิธีคือ ถ้าใช้ mysql (db เจ้าอื่นไม่รู้ทำได้ไหม) คือเซ็ต connection charset เป็น utf-8 ครับ แล้วเวลาเรียกข้อมูลมันจะแปลงให้เอง ใช้คำสั่ง SET NAMES utf8
---------- iPAtS
iPAtS