Bug #80869 [Com]: SQL Server: Read NVARCHAR Unicode

From: Date: Wed, 17 Mar 2021 17:17:53 +0000
Subject: Bug #80869 [Com]: SQL Server: Read NVARCHAR Unicode
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-232829@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=80869&edit=1 ID: 80869 Comment by: sergiopaternoster73 at gmail dot com Reported by: sergiopaternoster73 at gmail dot com Summary: SQL Server: Read NVARCHAR Unicode Status: Open Type: Bug Package: PDO ODBC Operating System: Ubuntu 18.04 Server PHP Version: 8.0.3 Block user comment: N Private report: N New Comment: Unfortunately, even with PHP 8.1.0-dev and the latest install for FreeTDS and unixODBC, it doesn't work. Is there anyone who can run a SQL Server query with NVARCHAR columns and see Unicode characters with PHP 8? Previous Comments: ------------------------------------------------------------------------ [2021-03-17 16:10:27] sergiopaternoster73 at gmail dot com Related To: Bug #80876 ------------------------------------------------------------------------ [2021-03-16 16:11:42] sergiopaternoster73 at gmail dot com I tested it on Windows (PHP 7.2.5 and PHP 8.0.3). SELECT NAME FROM TABLE; (NAME is defined as NVARCHAR(200)) They both work *ONLY* if I set the PDO::ODBC_ATTR_ASSUME_UTF8 => true as option. Otherwise, I will always get an ASCII when I read an NVARCHAR() column. How come do I need to specify PDO::ODBC_ATTR_ASSUME_UTF8 ? The result is supposed to be a UTF-8. Thanks for your help ------------------------------------------------------------------------ [2021-03-16 12:26:14] sergiopaternoster73 at gmail dot com These are the new traces with FreeTDS 1.2 (from 0.9 before). Now they look more consistent than before. So why the problem persists? php 7 trace: https://gist.github.com/capsandiego/18b2cbb5f6f3e518f508c9b16335b513 php 8 trace: https://gist.github.com/capsandiego/d51367c34d506d37aa6c62b46d71e1b3 ------------------------------------------------------------------------ [2021-03-16 12:08:04] sergiopaternoster73 at gmail dot com I have recompiled php 8 with the latest version of FreeTDS but the problem persists. Do you have any other suggestions to query SQL Server from PHP on Linux and preserve UTF-8 chars? ------------------------------------------------------------------------ [2021-03-16 10:14:48] sergiopaternoster73 at gmail dot com Quick question. I compile php with --with-pdo_odbc=unixODBC,/usr and --with-unixODBC=/usr Pardon my ignorance again, shall we focus on FreeTDS or unixODBC to look for a solution? ------------------------------------------------------------------------ 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 https://bugs.php.net/bug.php?id=80869 -- Edit this bug report at https://bugs.php.net/bug.php?id=80869&edit=1

« previous php.bugs (#232829) next »