โดย tatiya » 06/09/2018 10:46 am
ตอนนี้ผมกำลังทำงานที่ต้องนำภาษาไทย มาใช้ โดยเก็บหลายๆตัวแปรไว้ใน ตัวแปร โดยที่แต่ละตัวแปรจะมีทั้งภาษาไทยและภาษาอังกฤษครับ ผมได้ลองทำแล้ว แต่มันจะเป็นแบบนี้ครับ (ผมใช้ Python2.7 นะครับ)
ตอนแรกผมรวมตัวแปรกันได้แบบนี้ นะครับ
โค้ด: เลือกทั้งหมด
test1 = "mindphp"
test2 = "mac"
test5 = "โหลๆๆๆทดสอบๆๆฮ่วย"
test = test1,test2,test5
print test
ผลลัพท์
('mindphp', 'mac', u'\u0e42\u0e2b\u0e25\u0e46\u0e46\u0e46\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e46\u0e46\u0e2e\u0e48\u0e27\u0e22')
วิธีที่ 1
โค้ด: เลือกทั้งหมด
test1 = "mindphp"
test2 = "mac"
test5 = "โหลๆๆๆทดสอบๆๆฮ่วย"
test3 = test5.encode('utf-8')
test = test1,test2,test3
print test
ผลลัพท์คือ Error
Traceback (most recent call last):
File "/home/com008/PycharmProjects/Work_for_use/test.py", line 14, in <module>
test3 = test5.encode('utf-8') #.encode('utf-8') #(encoding="utf-8")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0: ordinal not in range(128)
วิธีที่ 2
โค้ด: เลือกทั้งหมด
test1 = "mindphp"
test2 = "mac"
test5 = "โหลๆๆๆทดสอบๆๆฮ่วย"
test3 = test5
test = test1,test2,test3.encode('utf-8')
print test
ผลลัพท์คือ Error
Traceback (most recent call last):
File "/home/com008/PycharmProjects/Work_for_use/test.py", line 18, in <module>
test = test1,test2,test3.encode('utf-8') #,mac #.encode(encoding='utf-8')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0: ordinal not in range(128)
วิธีที่ 3
โค้ด: เลือกทั้งหมด
test1 = "mindphp"
test2 = "mac"
test5 = "โหลๆๆๆทดสอบๆๆฮ่วย"
test3 = test5
print type(test3)
mac = ''.join(str(i)for i in test3 )
print mac
tester = mac.decode("utf-8")
test = test1,test2,tester
print test
ผลลัพท์
<type 'str'>
โหลๆๆๆทดสอบๆๆฮ่วย
('mindphp', 'mac', u'\u0e42\u0e2b\u0e25\u0e46\u0e46\u0e46\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e46\u0e46\u0e2e\u0e48\u0e27\u0e22')
ตอนนี้ผมกำลังทำงานที่ต้องนำภาษาไทย มาใช้ โดยเก็บหลายๆตัวแปรไว้ใน ตัวแปร โดยที่แต่ละตัวแปรจะมีทั้งภาษาไทยและภาษาอังกฤษครับ ผมได้ลองทำแล้ว แต่มันจะเป็นแบบนี้ครับ (ผมใช้ Python2.7 นะครับ)
ตอนแรกผมรวมตัวแปรกันได้แบบนี้ นะครับ
[code]test1 = "mindphp"
test2 = "mac"
test5 = "โหลๆๆๆทดสอบๆๆฮ่วย"
test = test1,test2,test5
print test[/code]
ผลลัพท์
('mindphp', 'mac', u'\u0e42\u0e2b\u0e25\u0e46\u0e46\u0e46\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e46\u0e46\u0e2e\u0e48\u0e27\u0e22')
วิธีที่ 1
[code]test1 = "mindphp"
test2 = "mac"
test5 = "โหลๆๆๆทดสอบๆๆฮ่วย"
test3 = test5.encode('utf-8')
test = test1,test2,test3
print test[/code]
ผลลัพท์คือ Error
[color=#FF0000]Traceback (most recent call last):
File "/home/com008/PycharmProjects/Work_for_use/test.py", line 14, in <module>
test3 = test5.encode('utf-8') #.encode('utf-8') #(encoding="utf-8")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0: ordinal not in range(128)[/color]
วิธีที่ 2
[code]test1 = "mindphp"
test2 = "mac"
test5 = "โหลๆๆๆทดสอบๆๆฮ่วย"
test3 = test5
test = test1,test2,test3.encode('utf-8')
print test[/code]
ผลลัพท์คือ Error
[color=#FF0000]Traceback (most recent call last):
File "/home/com008/PycharmProjects/Work_for_use/test.py", line 18, in <module>
test = test1,test2,test3.encode('utf-8') #,mac #.encode(encoding='utf-8')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0: ordinal not in range(128)[/color]
วิธีที่ 3
[code]test1 = "mindphp"
test2 = "mac"
test5 = "โหลๆๆๆทดสอบๆๆฮ่วย"
test3 = test5
print type(test3)
mac = ''.join(str(i)for i in test3 )
print mac
tester = mac.decode("utf-8")
test = test1,test2,tester
print test[/code]
ผลลัพท์
<type 'str'>
โหลๆๆๆทดสอบๆๆฮ่วย
('mindphp', 'mac', u'\u0e42\u0e2b\u0e25\u0e46\u0e46\u0e46\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e46\u0e46\u0e2e\u0e48\u0e27\u0e22')