|
|
|
ภาษาไทยไม่เข้าใน host จริง แต่ใน localhost ภาษาไทยเข้าปกติ ขอร้องช่วยตอบทีน่ะค่ะมีรูปให้ดูด้วยค่ะ |
|
|
|
|
|
|
|
ตอนแรกทำใน localhost สามารถนำเข้าภาษาไทยได้ปกติค่ะ แต่พอนำเข้าไปรันบนโฮสต์ภาษาไทยเข้าเฉพาะที่มี ()
อันนี้เป็นโค้ดที่เขียนน่ะค่ะ
Code (PHP)
copy($_FILES["fileCSV"]["tmp_name"],$_FILES["fileCSV"]["name"]); // Copy/Upload CSV
include("Includes/Connection_inc.php");
$link = connectToDB();
mysql_query("SET NAMES tis620");
//echo "$name";
$sql_create="CREATE TABLE `$gettbnameq` ( ";
$objCSV = fopen($_FILES["fileCSV"]["name"], "r");
$csv_total=0;
$start=false;
while (($objArr = fgetcsv($objCSV,1000, ",")) !== FALSE) {
///////////////////////////////// ส่วนของการสร้าง Table ///////////////////////////
$numArr=count($objArr);///นับจำคอลัมน์
if($csv_total<$numArr){
for($obj=0;$obj<($numArr-1);$obj++){
//echo $objArr[$obj]."<br>";
$sql_create.=$objArr[$obj]." VARCHAR( 100 ) NULL , ";
}
$sql_create.=$objArr[($numArr-1)]." VARCHAR( 100 ) NULL ) ENGINE = MYISAM ;";
mysql_query($sql_create);
if($start==false){ $start=true; continue;}
}
if($start==true){
mysql_query("SET NAMES tis620");
$sql=" INSERT INTO `$gettbnameq` (
)
VALUES (";
$after= $numArr-1;
//echo "numArr = ".$numArr." after = ".$after;
for($ob=0;$ob<$after;$ob++){
$d[$ob]=$objArr[$ob];
$sql.="'".$d[$ob]."', ";
//echo $d[$ob]."--------<br>";
}
$d[$ob]=$objArr[$after];
$sql.="'".$d[$after]."')";
mysql_query($sql);
$csv_total+=1;
}
}
$sql_inserttb="INSERT INTO `seniorproject`.`tb` (
`id` ,
`Questiontb` ,
`Answertb` ,
`Datatb` ,
`Datatrantb` ,
`Patternstb`
)
VALUES (
NULL ,'$gettbnameq','3','3','3','3'
);";
mysql_query($sql_inserttb) or die ("insert error");
fclose($objCSV);
echo "นำเข้าข้อมูลคำถามเสร็จสิ้นเรียบร้อยแล้วกรุณากดปุ่ม ต่อไป";
อันนี้เป็นโครงสร้างข้อมูลของตารางค่ะ
ส่วนอันนี้เป็นไฟล์ที่นำเข้าค่ะ เซทให้เป็น utf8 แล้ว save เป็น .csv ค่ะ
Tag : PHP, MySQL, HTML/CSS, JavaScript, CakePHP
|
ประวัติการแก้ไข 2013-02-07 16:37:07
|
|
|
|
|
Date :
2013-02-07 16:35:00 |
By :
r_sa_ning |
View :
1307 |
Reply :
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผิดอันค่ะ อันนี้ค่ะ ที่เปลี่ยนจาก tis620 เป็น utf8 แล้วค่ะ
Code (PHP)
copy($_FILES["fileCSV"]["tmp_name"],$_FILES["fileCSV"]["name"]); // Copy/Upload CSV
include("Includes/Connection_inc.php");
$link = connectToDB();
mysql_query("SET NAMES uft8");
//echo "$name";
$sql_create="CREATE TABLE `$gettbnameq` ( ";
$objCSV = fopen($_FILES["fileCSV"]["name"], "r");
$csv_total=0;
$start=false;
while (($objArr = fgetcsv($objCSV,1000, ",")) !== FALSE) {
///////////////////////////////// ส่วนของการสร้าง Table ///////////////////////////
$numArr=count($objArr);///นับจำคอลัมน์
if($csv_total<$numArr){
for($obj=0;$obj<($numArr-1);$obj++){
//echo $objArr[$obj]."<br>";
$sql_create.=$objArr[$obj]." VARCHAR ( 100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL , ";
}
$sql_create.=$objArr[($numArr-1)]." VARCHAR ( 100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL ) ENGINE=MYISAM ;";
mysql_query("SET NAMES uft8");
mysql_query($sql_create);
if($start==false){ $start=true; continue;}
} //echo "จำนวนของฟิวล์ ".$numArr."<br>";
///////////////////////////l จบการสร้าง Table/////////////////////////
////////////////////////////// ส่วนของการอ่านข้อมูลจาก csv บันทึกลง mysql /////////////
// while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {
//echo count($objCSV)."////////////////////////////";
if($start==true){
$sql=" INSERT INTO `$gettbnameq` (
)
VALUES (";
$after= $numArr-1;
//echo "numArr = ".$numArr." after = ".$after;
for($ob=0;$ob<$after;$ob++){
$d[$ob]=$objArr[$ob];
$sql.="'".$d[$ob]."', ";
//echo $d[$ob]."--------<br>";
}
$d[$ob]=$objArr[$after];
$sql.="'".$d[$after]."')";
mysql_query("SET NAMES uft8");
mysql_query($sql);
$csv_total+=1;
}
}
$sql_inserttb="INSERT INTO `umisrmut_project`.`tb` (
`id` ,
`Questiontb` ,
`Answertb` ,
`Datatb` ,
`Datatrantb` ,
`Patternstb`
)
VALUES (
NULL ,'$gettbnameq','3','3','3','3'
);";
mysql_query("SET NAMES uft8");
mysql_query($sql_inserttb) or die ("insert error");
fclose($objCSV);
echo "นำเข้าข้อมูลคำถามเสร็จสิ้นเรียบร้อยแล้วกรุณากดปุ่ม ต่อไป";
|
|
|
|
|
Date :
2013-02-07 16:47:02 |
By :
r_sa_ning |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้า Insert จาก CSV อาจจะต้องใช้พวก iconv() เข้ามาช่วยครับ
|
|
|
|
|
Date :
2013-02-07 16:49:55 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณค่ะ
พอจะมีข้อมูลเกี่ยวกับ iconv() แนะนำมั้ยค่ะ
|
|
|
|
|
Date :
2013-02-07 16:58:16 |
By :
r_sa_ning |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เคยใช้แต่ตัวนี้ ลองเอาไปเทียบดูครับ อาจจะเจอสิ่งที่แตกต่าง
<!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( "testcsv.csv", "r");
//$FILE = fopen( "id.csv", "r");
//$FILE = fopen( "u.csv", "r");
$FILE = fopen( "z.csv", "r");
$data = fgetcsv( $FILE , 1024 );
$i=1;
do
{
if ($i == 1){
$data = fgetcsv( $FILE , 1024 );
$i++;
}
else{
$host="localhost";
$user="000";
$password="000";
$dbname="000";
$conetion=mysql_connect($host,$user,$password) or die("อะไรว่ะ");
$db=mysql_select_db($dbname) or die("?????? DB ??????");
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");
//$sql="INSERT INTO tb_ปปปป (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]');";
//$sql="INSERT INTO tb_contract (id_c) VALUES ('$data[0]');";
//$sql="INSERT INTO tb_detail (id_d) VALUES ('$data[0]');";
//$sql="INSERT INTO tb_order (id_o) VALUES ('$data[0]');";
//$sql="INSERT INTO tb_stitute (id_s,uCode,uName) VALUES ('$data[0]', '$data[1]', '$data[2]');";
$sql="INSERT INTO tb_zone (id_z,uName,zName,zone) VALUES ('$data[0]', '$data[1]', '$data[2]', '$data[3]');";
$dbquery=mysql_db_query($dbname,$sql);
mysql_close();
$data = fgetcsv( $FILE , 1024 );
$i++;
}}while ( !feof( $FILE ) );
echo "ผ่านว่ะ";
?>
<body>
</body>
</html>
|
|
|
|
|
Date :
2013-02-07 17:24:56 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|