|
|
|
phpMyAdmin Datebase Export file Excel ออกมาแล้ว อ่านภาษาไทยไม่ได้ |
|
|
|
|
|
|
|
ก่อน export
ตรง
Export Method:
เลือกที่
Custom - display all possible options
มันจะปรากฎหน้ารายการให้เราเลือกอีก
ตรง Character set of the file: ค่าเดิมมันน่าจะเป็น Utf-8
ให้เปลี่ยนเป็น tis-620 ครับ
แล้วลอง Export ใหม่โดยเลือก Format: เป็น csv for Ms excel
ลองดูครับ
|
|
|
|
|
Date :
2013-02-01 15:25:24 |
By :
ไวยวิทย์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีอยู่ไหนค่ะ ตามรูปมีแค่นี้
|
|
|
|
|
Date :
2013-02-01 15:50:11 |
By :
wongkhajang |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2013-02-01 15:53:59 |
By :
wongkhajang |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ของผม phpmyadmin 3.4.10.1
เมนูไม่เหมือนกัน
|
|
|
|
|
Date :
2013-02-01 16:04:37 |
By :
ไวยวิทย์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โค้ด ที่พี่วินให้มา เอาไปใช้ยังไงค่ะ
แล้วจะทำงัยดี
อย่างไรก็ขอบคุณ พี่ๆ นะค่ะ มี่เข้ามาตอบ
|
|
|
|
|
Date :
2013-02-01 16:13:36 |
By :
wongkhajang |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
น้องเขียนไว้ยังไงบ้างครับ
|
|
|
|
|
Date :
2013-02-01 16:18:54 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
น้องใช้ export จาก phpmyadmin นะค่ะ ไม่มีโค้ด
|
|
|
|
|
Date :
2013-02-01 17:15:21 |
By :
wongkhajang |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Database ตอนนี้เป็นภาษาไทยอยู่หรือเปล่าครับ
|
|
|
|
|
Date :
2013-02-01 17:16:22 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเอา .sql ที่ได้เปิดจาก Notepad หรือ Editplus ดูครับว่าภาษาไทยไหม
|
|
|
|
|
Date :
2013-02-03 01:17:26 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลองทำแล้วที่ phpmyadmin ครับ (ผมใช้ภาษาไทยนะ)
1. คลิกที่ ส่งออก เลือก DB หรือ Table ที่เราจะส่งออก (ตามต้องการ ถ้าเลือกทั้ง DB ข้อมูลจะออกมาต่อกันแนะทำเลือกทีละตารางดีกว่า)
2. ในกรอบส่งออกมันจะมี Option ในเลือก "ข้อมูล CSV สำหรับไมโครซอฟต์เอ็กเซล" ผมเลือกที่ตัวนี้
3. คลิก CheckBox เลือก "ส่งมาเป็นไฟล์"
4. การบีบอัดผมเลือก "ไม่มี" ครับ
5. กด"ลงมือ"
เราจะได้ไฟล์(สมมุติ) ชื่อ student.csv (ถ้าเอาไปเปิดใน Excel เลยจะเป็นภาษาต่างด้าว)
จากนั้น
1. คลิกขวาที่ไฟล์ Open with ด้วย Notepad หรือ Editplus (จะเห็นเป็นภาษาไทย)
2. เลือกที่ File > Save As...
3. ตรง File name ก็ใส่ไปถ้าไม่เปลี่ยนมันก็ Save ทับ
4. ***สำคัญ ตรง Encoding น่าจะเป็น UTF-8 ให้เปลี่ยนเป็น "ANSI"
สมมุติว่า Save ทับแล้วกัน
คลิกที่ไฟล์นี้โดยเปิดจาก Excel ลองดูครับ
|
|
|
|
|
Date :
2013-02-03 11:27:44 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 14 เขียนโดย : wongkhajang เมื่อวันที่ 2013-02-03 11:39:24
รายละเอียดของการตอบ ::
ถ้าทำแบบที่ว่าก็มีนะครับ มันก็มีขั้นตอนว่า
1. สร้างไฟล์ Excel ธรรมดา
2. Save ไฟล์ให้อยู่ในรูปแบบ CSV
3. ส่งเข้า DB โดยใช้ Code PHP
มันก็มีตัวนี้ PHP Import Excel to MySQL Database (Excel.Application) แต่ไม่เคยใช้ น้องต้องลองเอง
ที่เคยใช้
exceltodb.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
<title>Untitled Document</title>
</head>
<?
$FILE = fopen( "xxx.csv", "r"); //เปลี่ยนชื่อไฟล์ xxx.csv เป็น csv ที่เราสร้างขึ้นจาก excel
//ต้อง copy ไฟล์มาเก็บไว้ที่ path เดียวกับ Code นี้นะครับ
$data = fgetcsv( $FILE , 1024 );
$i=1;
do
{
if ($i == 1){
$data = fgetcsv( $FILE , 1024 );
$i++;
}
else{
$host="localhost";
$user="root"; //ใส่ user ของ DB ปกติน่าจะเป็น root
$password="xxxxxxxx";// ใส่ password
$dbname="db_xxxxx"; //แก้เป็น db ที่ต้องการ import เข้าไป
$conetion=mysql_connect($host,$user,$password) or die("ตาย ตาย ตาย ต่อ Host ไม่ติด ");
$db=mysql_select_db($dbname) or die("ต่อ DB ไม่ได้");
/* ตรงนี้เป็นความเชื่อส่วนตัวในการแก้ปัญหาภาษาไทย ด้านบนผมใช้ windows-874 ตรงผมใช้ tis620 ผมไม่เคยใช้ utf-8 เลย*/
mysql_query("SET character_set_results=tis620");
mysql_query("SET character_set_client='tis620'");
mysql_query("SET character_set_connection='tis620'");
mysql_query("collation_connection = tis620_thai_ci");
mysql_query("collation_database = tis620_thai_ci");
mysql_query("collation_server = tis620_thai_ci");
//แก้ your_table เอาค่า ฟิลด์ปกติมามาเขียนทั้งหมด
//จาก ตย. ผมมี sql ทั้งหมด 12 ฟิลด์ การเตียมไฟล์ตรงนี้ก็ใส่ไว้ที่หัว Excel ให้เหมือนกันตรงกันครับ
//สำคัญครับฟิลด์ต้องตรงกัน
// ค่าตัวแปรที่จะส่งก็เป็นตั้งแต่ array 0-11 ตามนั้นครับ
$sql="INSERT INTO your_table (id,card,pass,titleName,firstName,lastName,major,faculty,institute,uProvince,locate,status) VALUES ('$data[0]', '$data[1]', '$data[2]', '$data[3]', '$data[4]', '$data[5]', '$data[6]', '$data[7]', '$data[8]', '$data[9]', '$data[10]', '$data[11]');";
$dbquery=mysql_db_query($dbname,$sql);
mysql_close();
$data = fgetcsv( $FILE , 1024 );
$i++;
}}while ( !feof( $FILE ) );
echo "บันทึกได้";//จะรันอย่างไรคำว่า "บันทึกได้" จะโชว์ทุกครั้ง เพราะฉนั้นกำหนด ฟลิด์ของตารางตรงคิวรี่ให้ถูกไม่งั้นข้อมูลไม่เข้า
?>
<body>
</body>
</html>
เมื่อแก้ไขข้อมูลให้ตรงกับ Excel ให้ตรงกับ DB แล้วเวลาใช้ก็ RUN Code นี้ตามปกติเป็นอันจบ
ลองดูครับ เป็นแบบที่ต้องการหรือเปล่า ไม่แน่ใจ
ที่มา เครดิต จำไม่ได้ว่าเอามาจากไหน ต้องขออภัยด้วยครับ
|
|
|
|
|
Date :
2013-02-03 12:13:50 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เรื่อง import ถ้าเราสร้างไฟล์ excel ปกติ ก็ import เข้าได้ค่ะ แต่ปัญหาเล็ก อยู่ที่ การ export file ให้ ออกเป็น ตาราง ข้อมูล ที่สามารถแก้ไขข้อมูลได้ ค่ะ
เรื่องมากจริงเรา อิอิ
|
|
|
|
|
Date :
2013-02-03 14:29:28 |
By :
wongkhajang |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ออกมาแล้วแก้ไขได้เลย ถ้าเท่าที่ดูก็คงติดปัญหาเรื่องภาษาล่ะ....
ยังไม่เคยทำด้วย ไม่แน่ใจ นึกไม่ออกจริง ๆ
|
|
|
|
|
Date :
2013-02-03 17:23:11 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ต้องขอบคุณพี่ ๆ ทุกคนอีกครั้งนะค่ะ
ที่ถามไป ตอนนี้ได้ที่เป็นภาษาไทยแล้ว แต่ตอนแรกมันจะเป็นคอลัมท์เดี่ยวกันอยู่ เลยอยากจะแยกคอมลัมท์ออก
ก็ได้วิิิธีทำตามนี้ + กับข้อมูลที่เพ่ๆให้มา
เลยทำให้สมบูรณ์ ตอนนี้กำลัง update ข้อมูลลง excel อยู่ เสดแล้วจะเอาลง phpmyadmin ดู ว่าจะมีข้อผิดพลาดอะไรหรือป่าวค่ะ
ยังงัยแล้วจะมา บอกอีกทีนะค่ะ
วีธีแยกคอมลัมท์ตามนี้เลยค่ะ http://www.youtube.com/watch?v=UfFKyPOsVek
|
|
|
|
|
Date :
2013-02-04 10:46:17 |
By :
wongkhajang |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2013-02-04 11:00:02 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|