ภาษาไทยในฐานข้อมูลMysqlเป็นแบบนี้???? ภาษาไทยในฐานข้อมูลMysqlเป็นแบบนี้???? จะแก้ไขยังไงดี ครับ
กำหนดภาษาเป็น tis-620 รึยังคะ
Date :
6 ก.พ. 2550 10:35:03
By :
poy
ผมBackup ข้อมูลเดิมกลับเข้ามาแล้วมันเป็นตัวหนังสือปกติ ครับ แต่เมื่อเราเรียกข้อมูลมาแก้ไข ผ่านโปรแกรมที่เขียนด้วยภาษา PHP แล้วSave กลับคืนเข้าฐานมักลายเป็นตัวเครื่องหมาย ??????? ทุกอันเลยงะ
แก้ยังไง ดี ครับต้องสง Project แล้วนะครับ ช่วยหน่อยๆ ต้องแก้ไขอะไร ตรงไหน บ้าง
Date :
6 ก.พ. 2550 11:02:04
By :
ผมงง
1. ตอนสร้าง DB กำหนด ให้เป็น tis-620 th ก่อน แล้วค่อย Dump ลงไป
2. เปลี่ยนการ Select DB ใหม่ซะ....
จาก $db = mysql_select_db($dbname) or die ('Error - can not select db') ;
ให้เป็น $db = mysql_db_query($dbname,"SET NAMES tis620") or die ('Error - can not select db') ;
แค่นี้เองครับ...ป๋มก็เคยติดแบบนี้เหมือนกัน กว่าจะแก้ได้เฮ้ออออ....
Date :
6 ก.พ. 2550 11:11:53
By :
นู๋หนึ่ง
ขอคำสั่งที่เขียนติดต่อกับ Mysql แบบเต็มๆ สมบูรณ์กว่านี้ได้ไหม ครับผมลองแก้ ของผมแล้วไม่ผ่าน
ของผมเป็นแบบนี้ ช่วยดูให้หน่อย ครับ เป็นไฟล์ connect.php
<?php
$hostname = "localhost"; //ชื่อโฮสต์
$user = "root"; //ชื่อผู้ใช้
$password = "mysql"; //รหัสผ่าน
$dbname = "comdb"; //ชื่อฐานข้อมูล
mysql_connect($hostname, $user, $password) or die("cccติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($dbname) or die("xxxเลือกฐานข้อมูลไม่ได้");
?>
ต้องใส่อะไรตรงไหนเพิ่มเติม ช่วยหน่อยครับ เซียนทั้งหลาย
Date :
7 ก.พ. 2550 08:58:05
By :
ผมงง
ผมลองเปลี่ยนเป็นแบบนี้ยังไม่ได้อีกงะ ครับ
<?php
$hostname = "localhost"; //ชื่อโฮสต์
$user = "root"; //ชื่อผู้ใช้
$password = "mysql"; //รหัสผ่าน
$dbname = "risk"; //ชื่อฐานข้อมูล
$charset = "SET character_set_results=tis620";
mysql_connect($hostname, $user, $password) or die("cccติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($dbname) or die("xxxเลือกฐานข้อมูลไม่ได้");
mysql_query($charset) or die('Invalid query: ' . mysql_error());
?>
ช่วยหน่อยช่วยหน่อย
Date :
7 ก.พ. 2550 09:04:03
By :
ผมงง
ไปเซ็ตค่าใน phpMyAdmin ตรง Language ให้เป็น Thai (th-utf-8) แล้วก็ตรง MySQL connection collation เป็น utf8_general_ci ลองทำดูนะครับ
Date :
7 ก.พ. 2550 18:03:47
By :
วัต
คือผมทำได้ หละ ครับ ผู้ใดติดปัญหาเหมือนผมก็ ทำตามนี้เลย ครับ
1.ตอนสร้างตารางให้ กำหนด เป็นไทยก่อน ครับ tis620_thai_ci
2.จากนั้นก็ทำการ dum ตารางที่เคยทำไว้กลับเข้ามาตามปกติ
3.แก้ไขไฟล์ ที่ท่านเขียนติดต่อกลับฐานเช่น ของ ผมชื่อ connect.php
==== ทำการเพิ่มคำสั่งดังนี้ เอาไปดูเป็นตัวอย่างละกันครับ เอามาจากคุณ อดิศร ขาวสังข์
<?php
$hostname="localhost"; //เครื่องของเราเอง ง่ะนะ เฮ้ออออ....
$dbname="dbcom"; //ชื่อฐานข้อมูลที่อยู่ในโปรแกรม MySQL ง่ะนะ เฮ้อออออ...
$User="root"; //ชื่อผู้ใช้งานฐานข้อมูล ง่ะนะ เฮ้อออออ...
$Password=""; //รหัสผ่านของผู้ใช้ ง่ะนะ แต่ไม่ใส่ ง่ะ ฮ่ะๆ ระวังให้ดี ...
$Conn=mysql_connect($hostname, $User, $Password) or die("ไม่สามารถติดต่อเซิฟเวอร์ได้ค่ะ");
mysql_select_db($dbname) or die ("ไม่สามารถติดต่อกับฐาน ได้ค่ะ");
$cs1="SET character_set_results=tis620";
mysql_query($cs1) or die('ERROR Query:'.mysql_error());
$cs2="SET character_set_client=tis620";
mysql_query($cs2) or die('ERROR Query:'.mysql_error());
$cs3="SET character_set_connection=tis620";
mysql_query($cs3) or die('ERROR Query:'.mysql_error());
?>
***ทีนี้จะเรียกออกมาแสดง หรือเรียกมาแก้ไขแล้วบันทึกกลับเข้าไปก็เป็นภาษาไทย แล้ว ครับ
ขอขอบคุณ ทุกท่านที่ตอบกระทู้นะครับ และหวังว่าข้อความข้างบนจะเป็นประโยชน์ บ้างไม่มากก็น้อย
Date :
8 ก.พ. 2550 09:56:13
By :
ผมไม่งงแล้ว
แวะเข้ามา เพราะเกิดปัญหาเดียวกันเลย และขอบคุณมาก...แก้ได้แล้วเหมือนกัน
ได้ประโยชน์มากเลยครับ
Date :
16 ก.พ. 2550 15:30:49
By :
PHP Beginer
ทำดูแล้วไม่เห็นได้เลยค่ะ ข้อมูลเดิมอ่านภาษาไทยได้ปกติที่ดึงออกมา แต่อยากให้ตัวข้อมูลใน Mysql เป็นภาษาไทยเหมือนกับตัว version ตัวก่อน จะต้องทำไงค่ะ เพราะวิธีนี้ไม่ได้ผลค่ะ
Date :
13 มิ.ย. 2550 11:22:12
By :
สงสัย
Load balance : Server 05