Hi Delmar, > -----Original Message----- > From: Delmar Wichnieski [mailto:delmar.delmar@xxxxxxxxx] > Sent: Tuesday, November 22, 2016 12:27 PM > To: php-windows@xxxxxxxxxxxxx; php-db@xxxxxxxxxxxxx > Subject: Re: CHAR field with charset UTF8 and COLLATION > UNICODE_CI_AI or UTF8 PHP is loading white spaces > > 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. > Please file an issue to bugs.php.net with the complete reproduce case. Probably you could also try pdo_firebird, to check the difference. Thanks Anatol > > 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? > > > > Thank you very much! > > > > > > -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php