Ribamar Sousa wrote: >> Se seu banco esta' em UTF8, sua aplicacao tem que enviar UTF8. >> Não necessariamente. A aplicação tem que enviar os dados na mesma codificação do 'client_encoding'.
>> 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]. > 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. > Vamos ver se graficamente você entende: +-----------+ +--------+ +-----------+ | (1) | (a) | (2) | (b) | (3) | | servidor |<------>| liqpq |<-------->| aplicação | | utf-8 | | latin1 | | *latin1* | +-----------+ +--------+ +-----------+ O passo (a), indica a conversão que o PostgreSQL faz de uma codificação (2) para outra (1); elas *não* precisam ser necessariamente a mesma. O PostgreSQL só consegue fazê-la porque ele sabe a priori quais são as codificações de ambos os lados. É claro que caracteres que não tem correspondência na outra codificação *não* poderão ser convertidos. No passo (b), *você* (desenvolvedor) tem que garantir que os dados informados na aplicação (3) estão na mesma codificação de (2). A não correspondência da codificação de (2) e (3) acarreta em uma entrada inválida de dados. Em (2) há um mecanismo (aka client_encoding) de informar qual será a codificação utilizada em (2) e (3). [1] http://www.php.net/manual/pt_BR/function.pg-client-encoding.php [2] http://www.php.net/manual/pt_BR/function.pg-set-client-encoding.php -- Euler Taveira de Oliveira http://www.timbira.com/ _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
