Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > อัพโหลดไฟล์ แล้วบันทึกลงฐานข้อมูลที่เป็นภาษาไทยไม่ได้ครับ



 

อัพโหลดไฟล์ แล้วบันทึกลงฐานข้อมูลที่เป็นภาษาไทยไม่ได้ครับ

 



Topic : 095382



โพสกระทู้ ( 604 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์




สวัสดีครับ

คือผมทำโค้ดอัพโหลดไฟล์ ขึ้น server และให้มีการอ่านข้อมูลจากไฟล์ เพื่อบันทึกลงฐานข้อมูลครับ

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

ผมได้ลองเปลี่ยน charset ทั้ง tis620 มาเป็น utf8 แล้วก็ยังไม่ได้ครับ
จากโค้ด ด้านล่างนี้นะครับ

Code (PHP)
<?php
	if($action=="import"){
		$file=$_FILES['u_file']['tmp_name'];
		$file_name=$_FILES['u_file']['name'];
		$file_size=$_FILES['u_file']['size'];
		$file_type=$_FILES['u_file']['type'];
		if($file==""){
			echo"<script>alert('กรุณาแนบไฟล์ด้วย');</script>";
			echo"<meta http-equiv=\"refresh\" content=\"0;URL=admin-student.html;importstudent\" />";
		}else{
			$ext=strtolower(end(explode('.',$file_name)));
			if($ext=="txt" or $ext=="csv"){
				$path="tmp_upload";
				$filename="uploadstudent.$ext";
				move_uploaded_file($file,"$path/$filename");
					$namefile="$path/$filename";
					$oCSV=fopen("$namefile","r");
					mysql_query("SET CHARACTER SET utf8");
					while(($objArr=fgetcsv($oCSV,1000,","))!==FALSE){
						$sql="INSERT INTO t_student";
						$sql.="(std_idcard,std_stdid,std_sex,std_name,std_surname,std_birthdate,std_class,std_room,std_status,std_status_46)";
						$sql.="VALUES";
						$sql.="('".$objArr[0]."','".$objArr[1]."','".$objArr[2]."','".$objArr[3]."','".$objArr[4]."','".$objArr[5]."','".$objArr[6]."','".$objArr[7]."','".$objArr[8]."','".$objArr[9]."')";
						$Qsql=mysql_query($sql);
					}
				fclose($oCSV);
				if($Qsql){
					echo"<script>alert('นำเข้าข้อมูลเรียบร้อย');</script>";
					echo"<meta http-equiv=\"refresh\" content=\"0;URL=admin-student.html;importstudent\" />";
				}else{
					echo"<script>alert('ไม่สามารถนำเข้าข้อมูลได้ในขณะนี้');</script>";
					echo"<meta http-equiv=\"refresh\" content=\"0;URL=admin-student.html;importstudent\" />";
				}
			}else{// $ext
				echo"<script>alert('ไฟล์ที่นำเข้าไม่ถูกต้อง กรุณาใช้ไฟล์ .csv หรือ .txt เท่านั้น');</script>";
				echo"<meta http-equiv=\"refresh\" content=\"0;URL=admin-student.html;importstudent\" />";
			}
		}//file==""
	}
?>


ข้อสังเกตนะครับ
1. ผมลองอัพโหลดในเครื่องผมเอง ปกติทุกอย่าง (ผมใช้ appserv 2.5.10)
2. ก่อนหน้านี้ ในโฮสต์ที่ผมเช่านั้น ผมก็ใช้สคริปต์นี้ได้ปกติครับ หมายถึง สามารถบันทึกไฟล์ภาษาไทยได้ปกติครับ
3. หลังจากทางโฮสต์มีการอัพเดตเวอร์ชันของ PHP 5.xx ก็ทำให้ไม่สามารถใช้งานได้

รบกวนช่วยตรวจสอบให้ผมด้วยครับ ผมควรจะแก้ไขตรงส่วนไหนบ้างครับ
ขอบคุณครับ



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-05-18 16:15:53 By : yomaster View : 937 Reply : 4
 

 

No. 1



โพสกระทู้ ( 604 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


รบกวนช่วยแนะนำผมหน่อยคับ T_T






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-19 12:51:55 By : yomaster
 


 

No. 2



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

เปลี่ยนชื่อไฟล์ให้เป็นภาษาอังกฤษครับ ไม่งั้นก็จะแก้ปัญหาไม่จบ และอาจจะมีปัญหาระยะยาวครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-19 17:46:49 By : mr.win
 

 

No. 3



โพสกระทู้ ( 604 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


สวัสดีครับ พี่วิน

คือยังงี้ครับ

ชื่อไฟล์ เป็น ภาษาอังกฤษ อยู่แล้วครับ คือ uploadstudent.$ext

แต่ปัญหา มันอยู่ที่ เนื้อหาในไฟล์ ครับ

หากบรรทัดใดๆ ในไฟล์ มีข้อความที่เป็นภาษาไทย ตรง คอลัมน์ใดๆ มันก็จะไม่บันทึกข้อความนั้นๆ ให้ครับ

ดังในรูป
namethai

จะเห็นเป็นภาษาไทยทั้งสอง
เมื่อทำการอัพโหลดไฟล์ไปและบันทึก
ตรงฟิลด์ที่เป็นภาษาไทย (ชื่อ - นามสกุล) มันจะไม่เก็บเข้าให้ แต่ ฟิลด์อื่นๆ เก็บให้ตามปกติ (เลขประจำตัว วันเกิด ระดับชั้น ห้อง)

แต่ถ้าหากเรคอร์ดใดๆ ไม่มีภาษาไทย มันก็สามารถบันทึกได้ตามปกติครับผม


ผมก็เลยไม่รู้ว่าเป็นที่อะไรครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-19 21:40:58 By : yomaster
 


 

No. 4



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

อ๋อ ลองใช้พวก iconv() ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-19 21:48:38 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : อัพโหลดไฟล์ แล้วบันทึกลงฐานข้อมูลที่เป็นภาษาไทยไม่ได้ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่