|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2018-07-06 18:48 UTC] ab@php.net
-Status: Open
+Status: Closed
-Assigned To:
+Assigned To: ab
[2018-07-06 18:48 UTC] ab@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Nov 03 11:00:02 2025 UTC |
Description: ------------ When I select char field in my database, it's returned with a size equivalent of storage bytes size. For utf8 char(3) return String length is 12. (3 char * 4bytes = 12) Test script: --------------- SQL : CREATE TABLE COMMERCIAUX ( ACTIF CHAR(3) CHARACTER SET 'UTF8' ); INSERT INTO COMMERCIAUX(ACTIF) VALUES ('Oui'); <?php $connection = new PDO('firebird:dbname=localhost/3050:MIASERVER;charset=utf8;encoding=UTF8', 'SYSDBA', 'masterkey'); $stmt = $connection->query('SELECT actif FROM commerciaux'); $result = $stmt->fetchAll(); ?> Expected result: ---------------- [ "ACTIF" => "Oui", 0 => "Oui", ], [ "ACTIF" => "Oui", 0 => "Oui", ], [ "ACTIF" => "Non", 0 => "Non", ], Actual result: -------------- You can see they spaces after text [ "ACTIF" => "Oui ", 0 => "Oui ", ], [ "ACTIF" => "Oui ", 0 => "Oui ", ], [ "ACTIF" => "Non ", 0 => "Non ", ],