Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

char(1) is padded with spaces with charset UTF8 #25

Open
WarmBooter opened this issue Oct 19, 2021 · 2 comments
Open

char(1) is padded with spaces with charset UTF8 #25

WarmBooter opened this issue Oct 19, 2021 · 2 comments
Assignees
Labels
bug Something isn't working

Comments

@WarmBooter
Copy link

With a FB connection using charset UTF-8:

select cast('A' as char(1)) from rdb$database;

The result using ibase_fetch_object will be 'A ' ("A" padded with 3 spaces).

select cast('A' as varchar(1)) from rdb$database;

The result will be 'A', which is correct.

It seems that FB transfers the char(1) padded with spaces to fill the 4 bytes buffer, but for the end user, a char(1) should never return more than 1 character. IMHO, in such cases, the PHP driver should strip out any extra spaces before delivering the result to the final user in a way that the result would never has more characters than the declared field size.

@MartinKoeditz MartinKoeditz self-assigned this Oct 19, 2021
@MartinKoeditz MartinKoeditz added the bug Something isn't working label Oct 19, 2021
@MartinKoeditz
Copy link
Collaborator

Yes, that's right. We should fix it.

@gedasys
Copy link

gedasys commented Oct 23, 2024

Is a solution already in sight?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants