จะทำอย่างไงให้ phpmyadmin เก็บข้อมูลเป็นภาษาไทยได้อ่ะครับ
คือผมได้สร้าง ฟอร์ม รับข้อมูล แล้วใช้สคิปสั่งให้ไปบันทึกในฐานข้อมูล แต่พอใช้ phpmyadmin เปิดดูตาราง ข้อมูลที่เก็บเป็นภาษาไทย มันจะเป็น ÂÒÅ´¤ÇÒÁÍéǹ ผมได้ลอง Backup ออกมาเปิดดูโดย Excel แต่มันก็เหมือนเดิม ช่วยที่นะครับ
ตัวสคิป
<?php
require'config.php';
$id = $_POST['id']; //เลขที่สินค้า
$name = $_POST['name']; //ชื่อผลิตภัณฑ์
$p = $_POST['p']; //ราคา
$q = $_POST['q']; // จำนวน
$date = $_POST['date']; //วันที่
if($id == '' or $name == '' or $p == '' or $q == '' or $date == '') echo 'คุณกรอกข้อมูลไม่ครบ กรุณากรอกใหม่';
else {
mysql_connect($dbserver,$dbuser,$dbpass) or die ('ไม่สามารถติดกับฐานข้อมูล');
mysql_select_db($dbname) or die ('ไม่สามารถเลือกฐานข้อมูล');
$sql = " INSERT INTO product (id,date,name,price,quantity) VALUES ('$id','$date','$name','$p','$q') ";
$result = mysql_query($sql);
}
if($result) echo "เพิ่มรายเรียบร้อย"; else echo "คุณไม่สามารถบันทึกรายการได้".mysql_error();
?>Tag : - - - -
Date :
5 พ.ค. 2549 17:10:59
By :
louis
View :
3603
Reply :
9
ภาษาไทยที่ถูกบันทึกมันเป็นแบบนี้อ่ะครับ ÂÒÅ´¤ÇÒÁÍéǹ ท่านผู้ใดรู้บอกที่นะครับ
Date :
5 พ.ค. 2549 17:13:29
By :
louis
ของผมก็เป็นเหมือนกันครับ คือเป็นที่ตัว mysql มากกว่าครับ ยังแก้ปัญหาไม่ได้เลยครับ
Date :
5 พ.ค. 2549 17:55:29
By :
gob
ลองเซต ตรง การเรียงลำดับให้เป็น tis620_thai_ci ดูสิครับน่าจะได้
Date :
5 พ.ค. 2549 17:59:40
By :
ศิษย์ผู้น้อย
คือลองดูแล้วครับ แต่ว่ามันยังเหมือนเดิม
Date :
5 พ.ค. 2549 18:59:47
By :
louis
คำสั่ง sql ใน phpmyadmin :
CREATE TABLE `product` (
`id` VARCHAR( 5 ) NOT NULL ,
`date` VARCHAR( 10 ) NOT NULL ,
`name` VARCHAR( 30 ) CHARACTER SET tis620 COLLATE tis620_thai_ci NOT NULL ,
`price` VARCHAR( 10 ) NOT NULL ,
`quantity` VARCHAR( 10 ) NOT NULL
) ENGINE = innodb;
แล้วเวลาเพิ่มข้อมูลเข้าไป แล้วมัน ขึ้น error ว่า Data too long for column 'name' at row 1
โดยที่ช่วง name ผมใส่ข้อไปว่า ยาลดความอ้วน
ท่านผู้ใดรู้ก็ช่วยอธิบายที่นะครับ
Date :
5 พ.ค. 2549 19:33:02
By :
louis
สำหรับ PHPmyAdmin นะฮับ
1. ถ้าใส่ข้อมูลภาษาไทยลงไปโดยใช้ PHPmyAdmin เวลาดูใน PHPmyAdmin จะเป็นภาษาไทย แต่ถ้าเรียกเปิดออกมาแสดงบนหน้าเว็บเพจ จะเป็นภาษาต่างดาว
2. ถ้าใส่ข้อมูลภาษาไทยลงไปโดยการกรอกข้อมูลผ่านฟอร์มบนหน้าเว็บเพจ(จากการเขียนโค้ดคำสั่ง INSERT INTO) เวลาเรียกเปิดหน้าเว็บเพจ ข้อมูลที่ดึงมาแสดงจะเป็นภาษาไทย แต่ถ้าเข้าไปดูใน PHPmyAdmin จะเป็นภาษาต่างดาวน์
3. ในช่องเปลี่ยนภาษาที่หน้าจอแรกใน PHPmyAdmin ถ้าเปลี่ยนเป็น tis620 ...ในส่วนนั้นคือการแสดงภาษาของโปรแกรม PHPmyAdmin ไม่เกี่ยวกับภาษาที่เรา INSERT INTO ลงไปคับ
4. อีกวิธีหนึ่งช่วยแก้ไขได้ แต่ลำบากนิดนึง คือ คุณต้องเขียนระบบ Admin ขึ้นมาเองคับ (นิยมใช้กับเว็บใหญ่) เพราะมันสะดวกมากสำหรับคุณ
งุงิ คือ อาการงงที่แก้ไม่หาย
Date :
5 พ.ค. 2549 22:59:18
By :
ผู้ไม่รู้ (อย่าเลียนแบบ)
ขอเขียนเป็นการกุศลแล้วกันนะครับ
ปัญหาที่เราพบส่วนใหญ่มีวิธีการแก้อยู่ 4 วิธีนะครับ
1. ให้ไปแก้ที่ phpMyAdmin ตรงฐานข้อมูลให้เปลี่ยนรูปแบบตัวอักษรฟิลด์ที่ต้องการใช้ภาษาไทยเป็น tis620_thai_ci แล้วก็ทำการบันทึกซะ
2. ตอนที่เราเขียนโค้ดติดต่อกับ mysql นั้นให้เราเขียนโค้ดกำหนดรูปแบบอักษรด้วย เช่น
$conn($dbserver,$dbuser,$dbpass) or die ('ไม่สามารถติดกับฐานข้อมูล');
mysql_query("SET NAMES tis620",$conn);
mysql_select_db($dbname) or die ('ไม่สามารถเลือกฐานข้อมูล');
3. ในส่วนของหน้าเว็ปตรงส่วนของภาษา <html> ไม่ว่าจะเป็นหน้าที่นำข้อมูลมาแสดงก็ดี ฟอร์มที่กรอกข้อมูลก็ดี ให้กำหนดดังนี้
<head><title></title>
<meta http-equiv="Content-Type" content="text/html=tis620">
</head>
4. ระบบไฟล์ ถ้าเราใช้ตัวอักษรแบบ utf-8 ก็ให้ save แบบ utf-8 แต่ถ้าเราเลือกรูปแบบภาษาอื่น เช่น tis620 ก็ให้ save แบบ Default นะครับ แค่นี้ก็เป็นคนไทยเต็มตัวแล้วครับ
[email protected] มีอะไรดีๆก็แบ่งๆกันบ้างนะครับทุกท่าน
Date :
7 พ.ค. 2549 09:02:02
By :
กบ
ผิดนะครับในข้อ 3. ขอแก้ไขหน่อย
<meta http-equiv="Content-Type" content="text/html; charset=tis620"
Date :
7 พ.ค. 2549 09:04:28
By :
กบ
ขอบคุณมากมายครับ
Date :
15 พ.ย. 2550 16:52:48
By :
เซิน
Load balance : Server 02