po 19. 10. 2020 v 3:18 odesílatel Celso Lorenzetti <ce...@sysrs.com.br> napsal:
> Hi Peter, > > is language C standart.. > > On 2020-10-17 20:51:36 +0200, Matthias Apitz wrote: > > El día sábado, octubre 17, 2020 a las 03:37:46p. m. -0300, Celso > Lorenzetti escribió: > > > > > Somebody help me, please. > > > > > > How to make the texts are aligned with 10 characters? > > > > > > > > > > > > elog(INFO, "\n%-10s Fim\n%-10s Fim\n", "Variável", "Variavel"); > > Which programming language is this? PL/pgSQL? > This is an internal function available in internal C API. As Tom Lane said in other mail - this internal API just doesn't support alignment for multibyte encodings. Regards Pavel > > > Hola Celso, > > > > You can reproduce the same on the UNIX shell with: > > > > $ printf "\n%-10s Fim\n%-10s Fim\n" "Variável" "Variavel" > > > > Variável Fim > > Variavel Fim > > Hmm. Zsh gets it right: > > trintignant:~ 0:31 :-) 1032% printf "\n%-10s Fim\n%-10s Fim\n" "Variável" > "Variavel" > > Variável Fim > Variavel Fim > > As do Perl and Python. > > > > The second test (changing the accented char 'á' by 'X'), shows that > > the problem/bug is a) more generic, not only in PostgreSQL and b) has > > todo with being the UTF-8 char 'á' a two byte char, while 'X' is only > > one byte. > > Yes, determining how much space a UTF-8 sequence occupies on screen is > surprisingly hard. I'm not sure what the C standard says about that. But > these days I would expect any programming language to get it right at least > for the simple cases. > > hp > > -- > _ | Peter J. Holzer | Story must make more sense than reality. > |_|_) | | > | | | h...@hjp.at | -- Charles Stross, "Creative writing > __/ | http://www.hjp.at/ | challenge!" > > > -- > Este email foi escaneado pelo Avast antivírus. > https://www.avast.com/antivirus > > > >