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,027

HOME > PHP > PHP Forum > insert ข้อมูลจาก text file ลงใน mysql table แล้วภาษาไทยมันขึ้นแบบนี้ ??? เพราะอะไรค่ะ



 

insert ข้อมูลจาก text file ลงใน mysql table แล้วภาษาไทยมันขึ้นแบบนี้ ??? เพราะอะไรค่ะ

 



Topic : 091123



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



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




ถ้าเป็นตัวเลขปกติค่ะ แต่ภาษาไทยเป็น ???
รบกวนท่านผู้รู้ด้วยค่ะ

มีข้อมูลใน text file แบบนี้ค่ะ
1, สมจิตร
2, สุมณฑา
3, องอาจ

ตาราง test

table


Code (PHP)
<?php
include ("config.php");

$realname = $_FILES['datafile']['name'];
$file_name = $_FILES['datafile']['tmp_name'];

if (($_FILES["datafile"]["type"] == "text/plain")){
  if (is_uploaded_file($file_name))
  {
     copy($file_name,"upload/".$realname);
    	$fname  = $file_name;
$fh = fopen($fname, "r");
while ( $fline = fgetcsv($fh, "4096", ",") ) {
    $db_sql = "INSERT INTO test ( test_id, test_name )  VALUES ( '$fline[0]', '$fline[1]' );";
    $db_res = mysql_query($db_sql) or die($db_sql);
	$result1="select * from test";
	
$query1 = mysql_query($result1);
while($row2 = mysql_fetch_array($query1)){
	echo $row2['test_name'].'';}
}
fclose($fh);
  }
  }
?>


Code (config.php)
<?php
$hostname="localhost";
$user1="root";
$password="1234";
$dbname="schedulesm";
mysql_connect($hostname,$user1,$password) or die("cannot connect database");
mysql_select_db($dbname) or die("cannot select DB");
mysql_query("SET NAMES UTF8");
?>




Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-02-19 21:04:12 By : phonlamai View : 2439 Reply : 15
 

 

No. 1



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

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

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

เกิดจาก Character Set ในตาราง = tis620_thai_ci แต่เราสั่ง Query ข้อมูลเป็นแบบ UTF-8 ดังนั้นควรเปลี่ยนให้ตรงกันทั้งสองฝั่งครับ แล้วลบข้อมูลเก่าทิ้งแล้วลองบันทึกใหม่ น่าจะใช้ได้ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-19 21:42:37 By : nprawit
 


 

No. 2

Guest


https://www.thaicreate.com/php/forum/091099.html ช่วยคุณได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-19 21:45:11 By : ดิว
 

 

No. 3



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



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


ขอบคุณ คุณ nprawit และ คุณ ดิวค่ะ

เปลี่ยนเป็น utf-8 แล้วค่ะ
แต่ว่าคราวนี้ข้อมูลที่เป็นภาษาไทยว่างเปล่าเลยค่ะ

ว่างเลยค่ะ
table2

ตาราง test
table3

ตรงนี้ก็เป็น utf-8 ค่ะ
ficbase
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-19 22:12:51 By : phonlamai
 


 

No. 4



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

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

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


Go to : แก้ปัญหาภาษาไทย php กับ MySQL (TIS-620 กับ UTF-8)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-19 23:42:44 By : apisitp
 


 

No. 5



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



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

ใช้โปรแกรมอะไรเขียนครับ
ถ้าใช้ ดรีม
ตามเมนูไปนี้ไปครับ
Modify > Page propertie
เลือก Title/Encoding
จะเห็นเมนู Encoding เลือก ภาษา จากนั้นกด Reload แล้วก็โอเคครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-20 01:10:06 By : chaynuwong
 


 

No. 6



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



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


ขอบคุณคุณ chaynuwong และคุณ apisitp ค่ะ
ใช้ดรีมค่ะ แต่ทำตามแล้วแต่มันก็ได้ค่าว่างเหมือนเดิมค่ะ


ประวัติการแก้ไข
2013-02-20 13:25:06
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-20 12:26:09 By : phonlamai
 


 

No. 7



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

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

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

ลองดู iconv() ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-20 12:44:25 By : mr.win
 


 

No. 8



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



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


ขอบคุณ คุณ mr.win ค่ะ
ทำตามแล้วค่ะ แต่มันก็ว่างเหมือนเดิมค่ะ

ใช้ inconv() แบบนี้รึเปล่าค่ะ

Code (PHP)
<?php
include ("config.php");
$realname = $_FILES['datafile']['name'];
$file_name = $_FILES['datafile']['tmp_name'];
$fileupload_size= $_FILES['datafile']['size'];
$fileupload_type= $_FILES['datafile']['type'];
if (($_FILES["datafile"]["type"] == "text/plain")){
  if (is_uploaded_file($file_name))
  {
 copy($file_name,"upload/".$realname);
	 $fname1  = $file_name;
	 $fname = iconv("UTF-8","tis-620",$fname1);
    
$fh = fopen($fname, "r");
while ( $fline = fgetcsv($fh, "4096", ",") ) {
    $db_sql = "INSERT INTO test ( test_id, test_name )  VALUES ( '$fline[0]', '$fline[1]' );";
    $db_res = mysql_query($db_sql) or die($db_sql);
	$result1="select * from test";

}
fclose($fh);
  }
 }
?>



ประวัติการแก้ไข
2013-02-20 13:20:23
2013-02-20 13:21:35
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-20 13:19:28 By : phonlamai
 


 

No. 9



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



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


ขอบคุณทุกท่านมากค่ะ ตอนนี้ได้แล้วค่ะ
แต่พอขึ้น host จริง ข้อมูลที่เป็นภาษาไทยมันว่างค่ะ

รบกวนท่านผู้รู้หน่อยค่ะ

ตาราง test
tablehost

code แบบฟอร์ม

Code (PHP)
 <form action="upload.php" method="post" enctype="multipart/form-data">
          <table class="table" border="0" width="400">
            <tr>
              <td align="right">ไฟล์ที่ต้องการอัพหลดไฟล์ :</td>
              <td><input type="file" name="datafile" id="file"></td>
            </tr>
            <tr>
              <td colspan="2" align="center"><center>
                  
                  <input name="" value="อัพโหลด" type="submit" class="bg_submit">
                  
                </center></td>
            </tr>
          </table>
          </form>


code upload

Code (PHP)
<?php
header('Content-Type: text/html; charset=UTF-8');
include ("config.php");
$realname = $_FILES['datafile']['name'];
$file_name = $_FILES['datafile']['tmp_name'];
$fileupload_size= $_FILES['datafile']['size'];
$fileupload_type= $_FILES['datafile']['type'];
if (($_FILES["datafile"]["type"] == "text/plain")){
  if (is_uploaded_file($file_name))
  {
     copy($file_name,"upload/".$realname);
	 $fname1  = $file_name;
	 $fname = iconv("UTF-8","TIS620",$fname1);
    
$fh = fopen($fname, "r");
while ( $fline = fgetcsv($fh, "4096", ",") ) {
    $db_sql = "INSERT INTO test (test_id, test_name)  VALUES ('$fline[0]', '$fline[1]')";
    $db_res = mysql_query($db_sql) or die($db_sql);
	
	 $query_str1 = "select *from test";
                       $rs1 = mysql_query($query_str1);
                       while($row = mysql_fetch_array($rs1)){
						   echo $row['test_name'].' ';
						   }
	
}
fclose($fh);
  }
  else{
     echo '<script language="javascript">
function fncAlert()
{alert("ไม่สามารถอัพโหลดไฟล์ได้");}
fncAlert();
window.location="importdata.php";
</script>';
exit();
   }
}else {
	echo '<script language="javascript">
function fncAlert()
{alert("ประเภทไฟล์ไม่ถูกต้อง");}
fncAlert();
window.location="importdata.php";
</script>';
exit();
}
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-20 19:42:16 By : phonlamai
 


 

No. 10



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



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


ได้ยังครับ ของผมตอนแรกก็เป็นครับ ดูแล้วเพิ่มเอานะครับไฟล์ที่ใช้ติดต่อฐานข้อมูลประมาณนี้

Code (PHP)
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
$host="localhost";
$user="root";
$password="1";
$db_name="booking";
$conn=mysql_connect($host,$user,$password);
$conn_db=mysql_select_db($db_name);
mysql_query("SET NAME utf8");//เพิ่มตรงนี้เข้าไป
mysql_query("SET character_set_results=utf8");//เพิ่มตรงนี้เข้าไป
mysql_query("SET character_set_client=utf8");//เพิ่มตรงนี้เข้าไป
mysql_query("SET character_set_connection=utf8");//เพิ่มตรงนี้เข้าไป
if(!$conn_db){
	echo"No select database name".$db_name;
}
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-21 07:05:57 By : white31969
 


 

No. 11



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

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

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


จากกระทู้ถ้าทำได้แล้วก็ดีใจด้วยนร๊าาาาา....
แต่มีข้อสงสัยว่าง ๆ มาอ่านเห็นตอบให้หน่อยนะครับ
------------------------
การอัพเดทข้อมูลใน textfile ลงไปใน database แบบนี้จะทำบ่อยมั้ย หรือว่าเป็นงานประจำเลยครับ??
นึกภาพว่าเอาไปเกี่ยวข้องในระบบงานอะไร ประภทไหน เป็นระบบที่ให้ user อัพข้อมูลตลอดหรืออย่างไร
หรือเป็นแค่เพียงการเตรียมฐานข้อมูล
หรือเขียน code เพื่อการเรียน ไปส่งอาจารย์เท่านั้น

ที่ถามแบบนี้ : ผมมองว่าในความเป็นจริง ในการทำงานจริง
ผมคิดว่า การอัพข้อมูลในฐานข้อมูลที่เครื่องเรา จากนั้นเรา Export ฐานข้อมูลออกจาก phpmyadmin ไปใส่ใน
phpmyadmin บน server จริง มันง่ายกว่าครับ (ผมคิดเองว่ามันง่ายและสะดวกกว่า)

เป็นความสงสัยส่วนตัว ท่านใดมาอ่านแนะนำได้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-21 08:07:36 By : apisitp
 


 

No. 12



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



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


ขอบคุณ คุณ white31969 มากค่ะ ลองแล้วค่ะแต่มันก็ยังเป็นค่าว่างเหมือนเดิม

ตอบคุณ apisitp
ของหนูเป็นงานที่ทำส่งอาจารย์ค่ะ
อาจารย์บอกว่าไม่อยากให้ผู้ใช้กรอกข้อมูลทีล่ะค่าลงไป
อยากให้ทำใส่ไฟล์แล้วอัพลงฐานข้อมูลทีเดียวเลยค่ะ


ประวัติการแก้ไข
2013-02-21 10:49:48
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-21 10:49:15 By : phonlamai
 


 

No. 13



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

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

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


อ๋อ....งั้นก็สุ้ ๆ ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-21 10:58:19 By : apisitp
 


 

No. 14



โพสกระทู้ ( 5,146 )
บทความ ( 26 )

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

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


ผมก็เพิ่งเคยเจอเหมือนกันกับเจ้าของกระทู้นี่แหละคับ

แต่เป็นงานของลูกค้า ที่เอาไว้เพิ่มข้อมูลอัตโนมัติจากเว็บไซต์ ไปฐานข้อมูล (ดึงจากเว็บอื่น ไป db ตัวเอง)

ถ้าเป็น Eng หมด ออกนะครับ
ถ้ามีไทยด้วย ไม่ออก

มันจะ ERROR ว่า ไม่่ได้ Encode UTF-8

ผมเลยลองใช้ mb_detect_encoding ในการเชคว่า ข้อความที่มีปัญหา กับไม่มีปัญหาต่างกันยังไง

ผลปรากฎว่า ไอ้ข้อความที่มันเป็นปัญหา มันบอกว่า ไม่มี encoding ผมก็งมต่อไป
ทำเกือบสามชั่วโมง ไม่ได

เลยตัดปัญหา สั่งให้ดึงข้อมูลมาไว้ในรูปแบบคำสั่ง mysql แล้วก้อบไปวางเอาใน phpmyadmin

ฮา ๆ ง่ายดี .

แต่ถ้าทำต่อ .. คงจะเป็นการส่งค่าที่ได้ ไปให้ไฟล์อื่นเชคว่ามันมี encoding หรือไม่นะครับ

แต่ของ จขกท ผมว่า ให้ท่านเปิดไฟล์ txt ของท่าน แล้วเซฟใหม่ ตรงช่อง Encodeing ให้เลือก UTF-8 ก่อนครับ น่าจะหาย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-21 12:17:32 By : deawx
 


 

No. 15



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



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


ขอบคุณ คุณ deawx และคุณ apisitp มากค่ะ

ตอนนี้ทำได้แล้วใน localhost แต่ใน host จริง มันไม่เป็นต่างด้าวแล้วค่ะ
แต่มันไม่แสดงแทน


ประวัติการแก้ไข
2013-02-21 15:04:19
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-21 15:03:03 By : phonlamai
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : insert ข้อมูลจาก text file ลงใน mysql table แล้วภาษาไทยมันขึ้นแบบนี้ ??? เพราะอะไรค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่