ID: 31327 Updated by: [EMAIL PROTECTED] Reported By: vtsuper1 at mail dot hongkong dot com -Status: Assigned +Status: Feedback Bug Type: COM related Operating System: windowXP PHP Version: 5.1 Assigned To: wez New Comment:
Make sure you're setting up the code page properly. >From the manual: com.code_page It controls the default character set code-page to use when passing strings to and from COM objects. If set to an empty string, PHP will assume that you want CP_ACP, which is the default system ANSI code page. If the text in your scripts is encoded using a different encoding/character set by default, setting this directive will save you from having to pass the code page as a parameter to the COM class constructor. Please note that by using this directive (as with any PHP configuration directive), your PHP script becomes less portable; you should use the COM constructor parameter whenever possible. Consult MSDN for more information on code pages. Previous Comments: ------------------------------------------------------------------------ [2005-08-08 11:21:52] bmcrowley at lcwarriormail dot com I am experiencing the same bug with Arabic - I pull a UTF-8 character from a database, and push it into Word with UTF-8 for the characterset. I get meaningless characters (the box) appearing after (to the right of) the arabic text. Also, the arabic text gets mangled - words out of order... I would try to post the input/output here, but it would be meaningless... ------------------------------------------------------------------------ [2005-08-03 07:51:25] [EMAIL PROTECTED] Assigned to the maintainer of COM extension. ------------------------------------------------------------------------ [2005-08-03 05:17:34] vtsuper1 at mail dot hongkong dot com Dear sir, Thanks for your help. I have test it in a php 5.1.X version. But the bug doesn't fixed. The meaningless space change to a square characters only... Anyway, thanks for your help. (This problem hasn't exist in Excel, it only happened in Word only) >From Victor ------------------------------------------------------------------------ [2005-08-02 23:49:10] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip ------------------------------------------------------------------------ [2004-12-28 20:46:49] vtsuper1 at mail dot hongkong dot com Description: ------------ I have try this code in php 5.0.3 and 4.3 I'm using Chinese winXP and Chinese Office XP apache 2 both version of php also have the same problem When I use Chinese character in the string, the output of the word file will have some meaningless spaces after the words I expected(my expected string is ok, no problem). There are no problem if I using English. And this problem will not occurs in excel. Reproduce code: --------------- <?php // starting word $word = new COM("word.application") or die("Unable to instantiate Word"); echo "Loaded Word, version {$word->Version}\n"; //bring it to front $word->Visible = 1; //open an empty document $word->Documents->Add(); //do some weird stuff $word->Selection->TypeText("§A¦n¶Ü"); $word->Documents[1]->SaveAs("Useless test.doc"); //closing word $word->Quit(); //free the object $word = null; ?> Expected result: ---------------- §A¦n¶Ü Actual result: -------------- §A¦n¶Ü____ (there are some spaces occurs, I use the underline to repersent the spaces) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=31327&edit=1