PHP 4.0 Bug #8361 Updated: Chinese char changed & ADODB.command,recordset can not be used

From: Date: Sun, 04 Feb 2001 05:33:49 +0000
Subject: PHP 4.0 Bug #8361 Updated: Chinese char changed & ADODB.command,recordset can not be used
Groups: php.dev 
Request: Send a blank email to php-dev+get-45706@lists.php.net to get a copy of this message
ID: 8361 User Update by: steeven@kali.com.cn Old-Status: Feedback Status: Open Bug Type: COM related Description: Chinese char changed & ADODB.command,recordset can not be used I donwload 4.05dev from www.mm4.de, and run the following code: <?php //phpinfo(); $dbc = new COM("ADODB.Connection"); $dbc->Provider = "sqloledb"; $dbc->Open('DSN=starmate;Database=magway;UID=sa;PWD='); $q="select title from css"; .... .... ?> Here is the result: Warning: Error in php_char_to_OLECHAR() in d:\apache\htdocs\magway\phorum\test.php on line 4 Warning: Invalid ProgID: Àà×Ö·û´®ÎÞЧ[invalid class string(by me)] in d:\apache\htdocs\magway\phorum\test.php on line 4 Fatal error: Call to undefined function: open() in d:\apache\htdocs\magway\phorum\test.php on line 6 Please tell me what you need to know for more. Previous Comments: --------------------------------------------------------------------------- [2001-02-02 13:07:28] phanto@php.net could someone with a chinese charset try this please. --------------------------------------------------------------------------- [2001-01-29 17:17:27] phanto@php.net this should be fixed in cvs please try a snapshot from http://snaps.php.net and give me feedback. --------------------------------------------------------------------------- [2000-12-21 13:52:12] steeven@kali.com.cn I have setup PHP to work with ADO, but they would't work: $dbc = new COM("ADODB.Connection"); $dbc->Provider = "sqloledb"; $dbc->Open('DSN=starmate;Database=magway;UID=sa;PWD='); //OK $q="select title from css"; //1. command object $cm= new COM("ADODB.Command"); $cm->CommandText=$q; $cm->ActiveConnection=$dbc; //PropPut() failed!!! $rs=$cm->Execute(); //Invoke() failed!!! // //2. recordset still don't work $rs=new COM("ADODB.Recordset"); $rs->Open($q); //Invoke() failed!!! //only this code will work $rs=$dbc->Execute($q); echo $rs->fields[0]->value . "<br>"; On the other hand, all the Double byte char input/output will be cut to 1byte. ²âÊÔa will be changed to 3 byte char. Test with ADODB,Word, It seemed that windows report chinese as one char, but php think it one byte. --------------------------------------------------------------------------- Full Bug description available at: http://bugs.php.net/?id=8361

« previous php.dev (#45706) next »