[CSV TO MYSQL] คือแบบว่าติดปัญหาตรงภาษาไทยครับ ???? รบกวนหน่อยนะครับ
คือผมทำหน้า page upload ไฟล์ csv แล้วให้อัพเข้ามูลเข้า database ครับ
คือติดปัญหาตรง คือ ฟิลด์บางฟิลด์ไม่ยอมแสดงภาษาไทย ครับ
ทั้ง ๆ ที่ set " mysql_query("SET NAMES TIS620"); " แล้วนะครับ ส่วนใน database
ก็ set ตามรูปภาพครับ
ส่วนไฟล์ Csv to mysql ก็ตามนี้ครับ
Code (PHP)
<?
$objConnect = mysql_connect("localhost","xxxx","xxxx") or die("Error Connect to Database"); // Conect to MySQL
$objDB = mysql_select_db("jirasak");
$objCSV = fopen("csvfile/program.csv", "r");
while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {
$strSQL = "INSERT INTO program ";
$strSQL .="(datetime,distance,round,class,place,horse,code,packhorse,weight,stall,remark)";
$strSQL .="VALUES";
$strSQL .="('".$objArr[0]."','".$objArr[1]."','".$objArr[2]."'";
$strSQL .=",'".$objArr[3]."','".$objArr[4]."','".$objArr[5]."'";
$strSQL .=",'".$objArr[6]."','".$objArr[7]."','".$objArr[8]."'";
$strSQL .=",'".$objArr[9]."','".$objArr[10]."')";
mysql_query("SET NAMES TIS620");
$objQuery = mysql_query($strSQL);
}
fclose($objCSV);
echo "Import Done.";
?>
เวลากด Import แล้ว ผลลัพธ์ที่ได้
ตรง horse , stall , remark ไม่ยอมขึ้นครับ เป็นภาษาไทยทั้งหมด แต่ผมลองใส่ภาษาอังกฤษไว้ข้างหน้ากลับขึ้น เลย งง ?????
รบกวนผู้รู้ช่วยชี้แนะด้วยครับผม ขอบคุณครับTag : PHP, MySQL
Date :
2012-01-27 17:38:54
By :
musicbody
View :
1552
Reply :
5
ลองดูพวก iconv() ครับ
Date :
2012-01-27 17:50:29
By :
webmaster
ไม่ทราบว่าสาเหตุ เกิดจากอะไรครับ แล้วจะใช้ iconv() ที่ตรงจุดไหนครับ ผมลองไปอ่าน
เกี่ยวกับ function iconv() ซึ่ง แปลงจาก อักขระ หนึ่ง เป็น อีก อักขระ หนึ่ง คือ
ผมต้องแปลงจาก tis-620 เป็น utf-8 ใช้ไหมครับ แล้วใน table ใน DB ก็ต้องเปลี่ยน เป็น utf-8
ใช้ไหมครับ รบกวนพี่ ๆ อีกแล้ว แหๆๆ
Date :
2012-01-27 19:26:25
By :
musicbody
กำ แต่ Import ใน phpmyadmin ได้ ส่งสัย Code หรืออะไรผิดสักอย่าง ..................................
Date :
2012-01-27 19:44:24
By :
musicbody
ได้แล้วครับ อ่านจากหลาย ๆ บทความ เห็นบอกว่า เป็น bug ของ getcsv ที่ run บน Server. Linux อะครับ
เลยลองเปลี่ยน code เป็นการ explode ตัว ,(coma) แทน
Code (PHP)
<?
$URL = "csvfile/program.csv";
$file=fopen($URL,"r") or die("Can Not Open File. Please contact admin!");
$i=1;
include "../connect.php";
mysql_select_db("jirasak");
while (!feof($file)){
$buffer = fgets($file, 4096);
$text= explode(",",$buffer);
$sql= "insert into program (datetime,distance,round,class,place,horse,code,packhorse,weight,stall,remark)
values ('$text[0]','$text[1]','$text[2]','$text[3]','$text[4]','$text[5]','$text[6]','$text[7]','$text[8]','$text[9]','$text[10]')";
$result = mysql_query($sql) or die(mysql_error());
}
fclose($file);
?>
ขอบคุณครับ
Date :
2012-01-28 10:11:55
By :
musicbody
เยี่ยมครับ สำหรับการแบ่งปัน Shared ปัญหา
Date :
2012-01-29 18:00:43
By :
webmaster
Load balance : Server 01