Jump to content


Windows Server 2012

- - - - -

Python+mysql+ภาษาไทย


  • Please log in to reply
6 replies to this topic

#1 sayam

sayam

    Newbie

  • Members
  • Pip
  • 24 posts

Posted 03 January 2007 - 11:27 AM

Python+mysql+ภาษาไทย เขียนอย่างไงครับผม insert ได้แต่ภาษาอังกฤษ
จะทำ webboard รบกวนด้วยครับ จะทำงานส่งอาจารย์

#2 up1

up1

    Topgun

  • Topgun
  • 2750 posts

Posted 03 January 2007 - 11:30 AM

View Postsayam, on Jan 3 2007, 11:27 AM, said:

Python+mysql+ภาษาไทย เขียนอย่างไงครับผม insert ได้แต่ภาษาอังกฤษ
จะทำ webboard รบกวนด้วยครับ จะทำงานส่งอาจารย์

ตอนนี้ develop ในแต่ละส่วนไปอย่างไรบ้าง  ลองเอามา post เพื่อเป็นข้อมูลในการแก้ไขปัญหาครับ หน่อยครับ

#3 sayam

sayam

    Newbie

  • Members
  • Pip
  • 24 posts

Posted 03 January 2007 - 11:44 AM

code ครับ

#!/dev/python24/python
# -*- coding: cp874 -*-
import MySQLdb,cgi
conn = MySQLdb.connect("localhost","root","","wb")
cursor = conn.cursor()
sql = "insert into question(q_name,q_email,q_title,q_detail) values('สยาม','dsafasf','sdfgsdg','sdfsdfsd')"
cursor.execute(sql)
cursor.execute(sql)
cursor.close()
conn.close()


error ครับ

Traceback (most recent call last):
  File "C:/Documents and Settings/MATH/Desktop/te", line 7, in -toplevel-
    cursor.execute(sql)
  File "C:\Python24\Lib\site-packages\MySQLdb\cursors.py", line 146, in execute
    query = query.encode(charset)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xca in position 75: ordinal not in range(128)

#4 Patrickz

Patrickz

    Topgun

  • Topgun
  • 2627 posts

Posted 03 January 2007 - 02:26 PM

MySQL version ไหนครับ?

ได้ลองค้นหาใน narisa หรือยังครับ?

#5 sayam

sayam

    Newbie

  • Members
  • Pip
  • 24 posts

Posted 03 January 2007 - 07:03 PM

Mysql 3.23.58 ครับ

#6 Patrickz

Patrickz

    Topgun

  • Topgun
  • 2627 posts

Posted 04 January 2007 - 01:00 PM

View Postsayam, on Jan 3 2007, 07:03 PM, said:

Mysql 3.23.58 ครับ

ใช้ 4.1 ขึ้นไปครับ  แล้วลองค้นหา google ด้วย  mysql ภาษาไทย

#7 work4best

work4best

    Topgun

  • Topgun
  • 618 posts

Posted 05 January 2007 - 11:29 AM

View Postsayam, on Jan 3 2007, 11:44 AM, said:

code ครับ

#!/dev/python24/python
# -*- coding: cp874 -*-
import MySQLdb,cgi
conn = MySQLdb.connect("localhost","root","","wb")
cursor = conn.cursor()
sql = "insert into question(q_name,q_email,q_title,q_detail) values('สยาม','dsafasf','sdfgsdg','sdfsdfsd')"
cursor.execute(sql)
cursor.execute(sql)
cursor.close()
conn.close()


error ครับ

Traceback (most recent call last):
  File "C:/Documents and Settings/MATH/Desktop/te", line 7, in -toplevel-
    cursor.execute(sql)
  File "C:\Python24\Lib\site-packages\MySQLdb\cursors.py", line 146, in execute
    query = query.encode(charset)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xca in position 75: ordinal not in range(128)
ผมใช้ source coding อย่างงี้ครับ
# -*- coding: UTF-8 -*-

เวลาสร้าง connection ผมมักจะสร้างอย่างงี้ครับ
MySQLdb.connect(
		user='user',
		passwd='pass',
		db='yourdb',
		use_unicode=True,
		charset='utf8')

แล้วเวลาจะ insert ให้เปลี่ยน 'สยาม' เป็น u'สยาม' นะครับ

Edited by work4best, 05 January 2007 - 11:33 AM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users