upload ไฟล์ csv แล้ว ภาษาไทยเพี้ยนหมดเลยค่ะ ช่วยดูให้หน่อยค่ะ

เริ่มโดย test_one, 07 ตุลาคม 2012, 02:11:24

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

test_one

upload ไฟล์ csv  แล้ว ภาษาไทยเพี้ยนหมดเลยค่ะ  ช่วยดูให้หน่อยค่ะ

<form action="frm_p_csv.php" method="post" enctype="multipart/form-data" name="form1" style="padding-top:50px;">
  <input name="file" type="file" id="file" value="">
  <input name="btnSubmit" type="submit" id="btnSubmit" value="Submit">
</form>


หน้า frm_p_csv.php
copy($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]); // Copy/Upload CSV

require("connect.php");

$file = $_FILES["file"]["name"];

$objCSV = fopen($file, "r");
while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {
$strSQL = "INSERT INTO Staff ";
$strSQL .="(locationID ,staff_name, staff_position) ";
$strSQL .="VALUES "; // 19
$strSQL .="('".$objArr[0]."','".$objArr[1]."','".$objArr[2]."') ";
$objQuery = mysql_query($strSQL);
echo $strSQL;
}
fclose($objCSV);


ขอคำแนะนำหน่อยค่ะ

ossytong

เรื่องนี้เป็นอีก 1 เรื่องที่่น่าปวดหัวมาก

คือ พื้นฐานของ ไฟล์ .csv ที่ถูกเปิด โดย office แล้วเซฟมาเนี้ย มันจะมีปัญหา ไม่แน่นอนในการ encode ภาษาที่ใช้ ของตัวไฟล์

บางทีก็เป็น utf-8 บางทีก็เป็น windows-874 เป็นต้น

ทำให้พอเรารับไฟล์ มาแล้วเนี้ย เราจะต้องเช็ึคก่อนว่าไฟล์ที่รับเข้ามา ถูก encode ด้วยภาษาอะไร

เช่น ปกติผมจะใช้ encode ภาษาเป็น utf-8
เมื่อไฟล์ถูก upload เข้ามา ผมก็จะเช็คก่อน ว่าเป็น utf-8 หรือไม่ ถ้าไม่เราก็เช็คว่า encode ด้วยอะไรมา แล้วก็จับแปลงเป็น utf-8 ก่อน
ถึงจะเอาไปใช้งานต่อไป

ผมก็ไม่รู้ว่ามีวิธีที่ดีกว่านี้หรือไม่ แต่ที่ผ่านๆมา ผมจะใช้วิธีข้างต้นเอา

cnnon

ความรู้คือประทีปส่องสว่าง
การให้แสงสว่างแก่ผู้อื่น ไม่มีวันทำให้แสงสว่างของตัวเองอับเฉาได้ มีแต่จักช่วยกันทำให้โลกนี้สว่างไสวมากขึ้น...เท่านั้น
[direct=http://saikru.com].[/direct][direct=http://atmestore.com].[/direct][direct=http://9namo.com].[/direct][direct=https://jobdee.win].[/direct]

imworker


test_one

ได้แล้วค่ะ
1. เพิ่ม mysql_query("SET NAMES TIS620");
2. ในฐานข้อมูลให้เป็น  TIS620  ด้วย
3.ไฟล์ .csv  จาก office   ให้ encode ภาษาเป็น ไทย   
ขอบคุณ สำหรับ ทุกคำแนะนำค่ะ