|
|
|
สอบถามเรื่อง การส่งค่าจาก PHPWord ไปยัง Template ใน word เป็นภาษาไทย บน linux แล้วมันเปิดไฟล์ไม่ได้ |
|
|
|
|
|
|
|
ภาษาอังกฤษได้ปกติหรือเปล่าครับ
|
|
|
|
|
Date :
2012-06-13 14:29:22 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ภาษาอังกฤษตัวเลขได้ปกตินะครับ ลองใน appserv ภาษาไทยก็ได้ปกติหมดเลยครับ
หรือว่า มันเกี่ยวกับที่ server linux ไม่มีตัวโปรแกรม Ms-word ในการ generate ด้วยไหมอ่าครับ
ลองสมมุติฐานดูอ่าครับ ^^!!
|
|
|
|
|
Date :
2012-06-13 14:34:51 |
By :
freshymusic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองใช้พวก iconv() แปลงให้เป็น UTF-8 ดูครับ
|
|
|
|
|
Date :
2012-06-13 14:41:14 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลองใน Ubuntu เเล้วเอาไฟล์มาเปิดใน window ก็ได้ปกตินะครับ เริ่ม งง เเล้วล่ะครับ
หรือว่าเป็นที่ server
|
|
|
|
|
Date :
2012-06-13 15:53:50 |
By :
freshymusic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณดาวน์โหลด Code มาจากไหนครับ
|
|
|
|
|
Date :
2012-06-13 17:41:34 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันน่าจะยังมีปัญหาภาษาไทยอยู่น่ะครับ (ยังไม่สมบูรณ์)
|
|
|
|
|
Date :
2012-06-14 06:38:36 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ่าครับ ขอบคุณมากเลยนะครับ ^^
|
|
|
|
|
Date :
2012-06-14 07:37:49 |
By :
freshymusic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ที่ผมลองเดาอีกข้อนึงนะครับ พี่วิน
คือ ที่ตัว Linux อ่าครับ มันจะมีส่วนเกี่ยวข้องกับที่ บน Ubuntu ของผมนั้นมันมีโปรแกรม Openoffice
แต่บนตัวของ Server ที่เป็น Linux นั้นไม่ได้ลง Openoffice จึงไม่สามารถเปิดไฟล์ได้
เพราะเนื่องมาจาก ตัวโปรแกรมนั้นอาจไปเรียก Libary ของ Openoffice มาเกี่ยวด้วยหรือป่าวอ่ะครับ
|
|
|
|
|
Date :
2012-06-14 09:18:22 |
By :
freshymusic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมไม่ทราบเหมือนกันครับ แต่คิดว่าไม่น่าจะเกี่ยวน่ะครับ น่าจะมีปัญหาเรื่องภาษาไทยนี่แหละครับ ลองใช้การแปลงเป็น UTF-8 ดูครับ น่าจะได้
|
|
|
|
|
Date :
2012-06-14 09:43:03 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเปลี่ยนดูเเล้ว ก็ยังไม่ได้เหมือนเดิมแหละครับ
น่าจะมีปัญหาตอนส่งค่าภาษาไทย เเล้ว มันเข้าใจไม่ตรงกันกับตัว server เลย
ทำให้เปิดไม่ได้แหละครับ พี่ ^^!!
|
|
|
|
|
Date :
2012-06-14 10:46:59 |
By :
freshymusic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สงสัยได้รอเวอร์ชั่นที่ผ่านการแก้ไขมาแล้วครับ เพราะตัวนั้นผมไป remark ฟังก์ชั่น utf8_encode ไว้ เลยคิดว่ามันน่าจะมีปัญหาครับ
|
|
|
|
|
Date :
2012-06-14 11:38:43 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังไงก็ขอบคุณมากนะครับ พี่วิน ^^
|
|
|
|
|
Date :
2012-06-14 16:25:31 |
By :
freshymusic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลอง อีกวิธีนึงก็คือ
นำไฟล์ที่ ส่งค่าเป็นภาษาไทย (1.docx) เเล้วเปิดไม่ได้ มาเทียบ กับ ไฟล์ที่ ส่งค่าเป็นภาษาอังกฤษ (2.docx) เปิดได้
เเล้วเปลี่ยนนามสกุลของไฟล์ทั้ง 2 เป็น 1.zip และ 2.zip แทน
จากนั้นก็เปิดไฟล์ เปิด 1.zip และ 2.zip โดยเข้าไปดูที่ Folder word-->document.xml
นำข้อมูลมาเทียบกัน
โดยที่ไฟล์ document.xml ของ 1.zip ตรงตำแหน่งที่เราส่งค่าไป มันขึ้นภาษา อะไรก็ไม่รู้ จึงทำให้ ไฟล์นั้นเปิดไม่ได้
แต่พอเราแก้ไฟล์ document.xml โดยการพิมไทยเข้าไปใหม่ ก็สามารถทำให้ไฟล์นั้นเปิดได้ปกติ
== ปัญหาก็น่าจะ เรื่องภาษา ที่ save file ของตัว server ออกมาเนี่ยแหละครับ ==
|
|
|
|
|
Date :
2012-06-14 17:22:41 |
By :
freshymusic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าแก้ไขได้ก็บอกไว้ด้วยครับ
|
|
|
|
|
Date :
2012-06-15 06:43:59 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ได้เเล้วล่ะครับ ผมลอง Encoding ไฟล์ให้เป็น UTF-8
แล้วก็ดึงข้อมูลจาก DB มาโดยใช้คำสั่ง ไม่งั้นมันจะ Error เหมือนเดิม
Code (PHP)
$document->setValue('Value4',"".$LandNo = iconv("windows-874","UTF-8","".$con->Land[0]->LandNumber."")."");
|
|
|
|
|
Date :
2012-06-16 15:18:45 |
By :
freshymusic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ว่าแล้ว ให้ลองดู UTF-8
|
|
|
|
|
Date :
2012-06-16 15:27:34 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
555+ อ่าครับ
เเต่ผมก็ งง ว่า ทำไมของ appserv กับ ubuntu แบบปกติ
ที่ไม่ได้แก้ code มันก็เปิดได้เนี่ยแหละครับ (^-^!!)
แต่ของตัว server ตัวนี้ ต้องมา แก้ ถึงจะได้
|
|
|
|
|
Date :
2012-06-16 15:34:37 |
By :
freshymusic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พี่อยากสอบถามว่า เราจะสามารถดึงข้อมูลใน MySQL มาแสดงใน word template ทั้งหมดได้ไหมค่ะ โดยโค้ดมีดังนี้ค่ะ
Code (PHP)
<?
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("db_cw");
mysql_query("SET NAMES UTF8");
$strSQL = "SELECT * FROM detail_sp";
$query_Recordset1 = "SELECT * FROM detail_sp ORDER BY id_sp ASC";
$objQuery = mysql_query($strSQL);
$result = mysql_query($query_Recordset1,$objConnect ) or die ("ไม่สามารถ query คำสั่งได้ครับ") ;
$rbw = mysql_fetch_assoc($result);
$num = mysql_num_rows($result);
?>
<?
require_once '../PHPWord.php';
$PHPWord = new PHPWord();
$document = $PHPWord->loadTemplate('Solarsystem1.docx');
while($objResult = mysql_fetch_array($objQuery)){
for($x = 0 ; $x < mysql_num_rows($result) ; $x++){
$document->setValue('$x', $objResult['detail_sp']);
$document->setValue('Value1',$objResult["name1_sp"]);
$document->setValue('Value2',$objResult['schoolname_sp']);
$document->setValue('Value3',$objResult['name2_sp']);
}
}
$document->setValue('weekday', date('l'));
$document->setValue('time', date('H:i'));
$document->save('Solarsystem.docx');
?>
|
|
|
|
|
Date :
2013-01-10 20:34:07 |
By :
ลูกอม |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|