Em 09/03/08, Euler Taveira de Oliveira<[EMAIL PROTECTED]> escreveu:
> Ribamar Sousa wrote:

>  >>  Tens que se certificar que seu PHP esta' enviando UTF8. Que o PHP esta
>  >>  dizendo ao navegador que o encoding e' UTF8. Veja a documentacao do
>  >>  PHP.
>  >
>
> Isso você pode verificar com [1] e ajustar em [2].

Acho que agora eu começo a pisar no chão:

Criei um banco em win1252
Este código em PHP:
pg_connect("host=localhost user=postgres password=postgres dbname=teste");
pg_set_client_encoding("UNICODE");
echo pg_client_encoding();

Retorna UTF-8

>  > Acontece que então não devo ter entendido a conversão automática, onde
>  > diz que em estando o servidor com utf8 converterá automaticamente de
>  > clientes em qualquer codificação.
>  +-----------+        +--------+          +-----------+
>  |    (1)    |   (a)  |   (2)  |    (b)   |    (3)    |
>  | servidor  |<------>| liqpq  |<-------->| aplicação |
>  |   utf-8   |        | latin1 |          | *latin1*  |
>  +-----------+        +--------+          +-----------+

Na prática, quem é o cliente é a "libpq", correto.

Agora consegui fazer minha pequena aplicação em PHP no windows
funcionar perfeitamente com uma base UTF-8.

Apenas setei a codificação logo após a conexão:

$strConexao="host=127.0.0.1 user=postgres password=postgres
dbname=iniciante port=5432";
$conexao=pg_connect($strConexao);
pg_set_client_encoding("UNICODE");

Veja uma saída (não foi forjada :)):

Código - Nome
1 - Ação
Menu

Muito grato Euler por mais esta.

-- 
Ribamar FS - [EMAIL PROTECTED]
http://ribafs.net
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a