#28117 [Opn->Fbk]: chinese comparision in delphi 5 COM object
| From: | sniper@php.net | Date: | Wed, 26 Jan 2005 03:53:36 +0000 |
| Subject: | #28117 [Opn->Fbk]: chinese comparision in delphi 5 COM object | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-72841@lists.php.net to get a copy of this message | ||
ID: 28117
Updated by: sniper@php.net
Reported By: kaija_jan at hotmail dot com
-Status: Open
+Status: Feedback
Bug Type: COM related
Operating System: windows 2k
PHP Version: 5.0.0RC1
New Comment:
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
Previous Comments:
------------------------------------------------------------------------
[2004-04-28 09:38:55] kaija_jan at hotmail dot com
iis 5 and apache 2
if you need hex output in delphi com, i can show it to you
and if u need the delphi com project, i will send it for you.
------------------------------------------------------------------------
[2004-04-28 09:31:14] wez@php.net
Are you running CGI, CLI, IIS or Apache module ?
------------------------------------------------------------------------
[2004-04-23 10:26:23] kaija_jan at hotmail dot com
It's output the same in this case.
I had tried this way.
And I also tried to print out each byte of "e" and "d"(even a) in the
DELPHI COM Object.
*It's different between e and d(or a).*
It's the same if you try to return the string from the Object. But It's
different in the object.
This problem confused me for a long time.
Notice : I'm not sure if it is the same result in Visual C++
COM.(Delphi COM crashed php, but VC COM didn't.) I'm not a good C
programmer :(. I can't help you about this.
=========================
output:
d is a4a4a4e5
e is a4a4a4e5
=========================
------------------------------------------------------------------------
[2004-04-23 09:53:46] wez@php.net
Could you please adjust your COM object to return e instead, and paste
the output of this script here?
<?php
$a = $b = $c = $d = "䏿"; //some chinese words
$comtest = new COM("comtest.test1");
$e = $comtest->comparestr($a, $b, $c, $d);
echo "d is " . bin2hex($d) . "\n";
echo "e is " . bin2hex($e) . "\n";
?>
------------------------------------------------------------------------
[2004-04-23 09:13:34] kaija_jan at hotmail dot com
$obj = new COM("comtest.test1", null, 950);
I got the same result after I modify the codepage parameter.
======================
a=b
c=d
a=c
a<>e
c<>e
======================
And I tried each codepage under.
CP_ACP, CP_MACCP, CP_OEMCP, CP_UTF7, CP_UTF8, CP_SYMBOL,
CP_THREAD_ACP
I also tried the same code in PHP 4.3.6(It crashes php in 4.3.4), It
gives me the same result as PHP 5 RC1.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/28117
--
Edit this bug report at http://bugs.php.net/?id=28117&edit=1