ID: 27416 User updated by: mooseyproductions at hotmail dot com Reported By: mooseyproductions at hotmail dot com Status: Open Bug Type: MSSQL related Operating System: Windows 2000/XP PHP Version: 4.3.4 New Comment:
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. Previous Comments: ------------------------------------------------------------------------ [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