ID:               27416
 Updated by:       [EMAIL PROTECTED]
 Reported By:      mooseyproductions at hotmail dot com
-Status:           Open
+Status:           Bogus
 Bug Type:         MSSQL related
 Operating System: Windows 2000/XP
 PHP Version:      4.3.4
 New Comment:

You need to use the same codepage to insert and fetch the data. When
you insert data as binary values there is no codepage involved in the
process but when you select the data it uses the OEM to ANSI convertion
defined by the client library.


Previous Comments:
------------------------------------------------------------------------

[2004-02-27 10:22:38] mooseyproductions at hotmail dot com

I have tried connecting to the SQL Server database using ODBC and it
retrieves the data perfectly, as expected. I think I will use the ODBC
functions for the meanwhile, until this bug is sorted.

------------------------------------------------------------------------

[2004-02-27 09:03:03] mooseyproductions at hotmail dot com

Description:
------------
When reading data from a SQL Server database, certain ASCII characters
are incorrectly retrieved. Entering accented characters into the
database works fine, however reading them from the database gives
unexpected results.



ASCII chars 33 - 255 entered into database:



!"#$%&'()*+,-./0123456789:;<=>[EMAIL PROTECTED]|}~




(This appears fine when looking at the database using MS Enterprise
Manager)



Result from read query:



!"#$%&'()*+,-./0123456789:;<=>[EMAIL 
PROTECTED]|}~__'".^%So_zYϾ󨷵ǎԐѥ噞
ƄФ





It appears that characters after ASCII #127 are incorrectly returned
from the database.



Using SQL Server 7.0 (ISO 8859-1 charset)



Reproduce code:
---------------
$string = '';

for ($i = 33; $i <= 255; $i++)

{

     $string .= chr($i);

}

 $db->query("UPDATE Test SET charset =  0x".bin2hex($string)." WHERE
rowID = 1");



$result = $db->query("SELECT charset FROM Test WHERE rowID = 1");



$row = $db->getAssoc($result);



echo $row['charset'];

Expected result:
----------------
I expected to see what I had previously entered into the database. All
text that contains accents is wrongly displayed.



Expected:



!"#$%&'()*+,-./0123456789:;<=>[EMAIL PROTECTED]|}~




Actual result:
--------------
Actual:



!"#$%&'()*+,-./0123456789:;<=>[EMAIL 
PROTECTED]|}~__'".^%So_zYϾ󨷵ǎԐѥ噞
ƄФ


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=27416&edit=1

Reply via email to