On 22.11.2016 at 12:27, Delmar Wichnieski wrote: > This issue also occurs with folow PHP versions (for any collate - UTF8) > PHP 7.0.12+ > PHP 7.1.0 RC4+ > Firebir 2.5.5 + and Firebird-3.0.1.32609_0_x64 > I have no test with other versions. > > > The driver could map the SQLVARs of SQL_TEXT to SQL_VARYING and adjust > offsets and lengths? > > Or else it has to do the manual work of identifying the charset (UTF8 = > number 4) and get byte by byte by mounting the string disregarding the > extra spaces. > > How to resolve without using trim or could there be a fix for an upcoming > release if the drive is not able to work with CHAR fields in UTF8? > > 2016-10-21 10:24 GMT-02:00 Delmar Wichnieski <delmar.delmar@xxxxxxxxx>: > >> Subject: >> CHAR field with charset UTF8 and COLLATION UNICODE_CI_AI or UTF8 PHP is >> loading white spaces >> Example >> 'S ' instead of 'S' >> >> Environment >> Windows 10 >> PHP 7.0.12 x64 VC14 TS >> Apache Lounge 2.4.23 x64 VC14 >> firebird 2.5.5 >> >> configuration >> php.ini >> default_charset = "UTF-8" >> connection to the database >> ibase_connect ( "localhost:" DB, user, pw, "UTF8". >> connection PHP script file in UTF-8 >> PHP script file with the test in UFT-8 >> response header >> Content-Type: text / html; charset = UTF-8 >> file.html >> <meta charset="UTF-8"> >> >> Migration in Firebird 2.5.5 charset ISO8859_1 collate PT_BR to UTF8 and >> UNICODE_CI_AI (firebird 2.5.5) >> >> DDL >> >> SET SQL DIALECT 3; >> >> SET NAMES UTF8; >> >> SET CLIENTLIB 'C:\Program Files\Firebird\Firebird_2_5_5\ >> WOW64\fbclient.dll'; >> >> CREATE DATABASE 'D:\MYDB_UTF8.FDB' >> USER 'SYSDBA' PASSWORD 'A' >> PAGE_SIZE 4096 >> DEFAULT CHARACTER SET UTF8 COLLATION UNICODE_CI_AI; >> >> CREATE TABLE USUARIO ( >> CODIGO INTEGER NOT NULL, >> USUARIO VARCHAR(20) CHARACTER SET UTF8 NOT NULL COLLATE >> UNICODE_CI_AI, >> SENHA VARCHAR(10) CHARACTER SET UTF8 NOT NULL COLLATE >> UNICODE_CI_AI, >> CODCIDADE INTEGER, >> ACESSOSISTEMA CHAR(1) CHARACTER SET UTF8 COLLATE UNICODE_CI_AI, >> CPF VARCHAR(12) CHARACTER SET UTF8 COLLATE UNICODE_CI_AI >> ); >> >> >> >> Example >> CHAR SIZE 1 >> in the database >> 'S' >> In php results >> 'S ' instead of 'S' >> vardump (char_field) >> string (4) "S " >> >> (Both ibase_query as PDO) >> >> Its a configuration problem, bug or not full support to UFT-8? On a quick glance, it seems this issue has been reported as bug, see <https://bugs.php.net/bug.php?id=69347>. -- Christoph M. Becker -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php