วันพุธที่ 27 กุมภาพันธ์ พ.ศ. 2556

ปัญหาภาษาไทยเป็น ???? ในฐานข้อมูล


ย้ายเครื่องแล้ว ??? ภาษาไทย

          จากปัญหาที่เกิดขึ้นซึ่งวันนี้ก็เกิดกับผมกับตัวตรงๆ เลยถึงกับหัวเสียมากพอดีเข้าไปค้นหาข้อมูลในบ้านอันเป็นที่รักอย่าง javathailand ก็ไปเจอกระทู้นี้ โอ้ยย สวรรค์โปรกุแล้ว หลังจากเข้าไปหาแหล่งอ้างอิงมาตั้งหลายเว็ปก็ไม่ช่วยเลย โดยผมขอเล่าปัญหาของผมที่เกิดขึ้นให้ทุกท่านทราบก่อนนะครับ

Appserv 2.5.10
Xampp 1.8.1 
           ซึ่งปัญหาที่เกิดขึ้นตอนแรกผมโหลดโปรแกรม Appserv 2.5.10 มาใช้งานครับดังนั้นไฟล์ดาต้าเบสต่างๆจึงอยู่ในนี้พอสมควร โดยผมต้องการย้ายไปใช้ Xampp 1.8.1 ผมจึงทำการแบ็คอัพฐานข้อมูลไว้ แล้วทำการ import เข้าไปที่ mySQL ปุ้บ!!! ปัญหาที่เกิดขึ้นคือเมื่อทำการเพิ่มข้อมูลเข้าฐานข้อมูลคำภาษาไทยจะเป็น ???? ดังนั้นใครที่พบปัญหาคล้ายๆกับผมลองเอาวิธีนี้ไปทดลองแก้ไขดูนะครับ 
จากการตอบกระทู้
อ้อ อาการแบบนีต้องแก้ mysql config ให้เป็น utf8 นะบอย ลองดูที่
mysql -u root -p
กรอกรหัสผ่านของฐานข้อมูล
mysql > status
มันจะแสดงแบบนี้
Connection id: 547
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.1.41-3ubuntu12.10 (Ubuntu)
Protocol version: 10
Connection: Localhost via UNIX socket
Client characterset: utf8
Server characterset: utf8
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 7 min 50 sec
ถ้าได้แบบนี้ก็ผ่านละ แต่ถ้าเป็น latin ต้องแก้ไขก่อน วิธีการก็ตามนี้นะ พี่จะค่อย ๆ อธิบายเป็นลำดับ
เราทำการเข้าไฟล์ config ก่อนโดยใช้คำสั่ง sudo gedit /etc/mysql/my.cnfมองหา
[client]
default-character-set = utf
[mysqld]
character-set-server = utf8

ถ้าหาคำว่า character-set พวกนี้ไม่เจอก็ทำการสร้างขึ้นมาได้เลย เนื่องจากตัว mysql ไม่ได้เอาค่าใส่ไว้ให้ เราก็พิมพ์ลงไปเลย จากนั้น save แ้ล้วเพื่อให้ง่ายที่สุด restart เครื่องเราซะ จบขันตอน ขอให้ผ่านปัญหานี้เด้อ
 ที่มา : http://www.javathailand.com/frontend/board_post/index/236
 Javathailand 

ไม่มีความคิดเห็น:

แสดงความคิดเห็น