Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: probleme d'encodage de / PHP



claude C. a écrit :
Quelqu'un a t il une idée pour etre tranquille sans passe par
l'UTF-8 car ensuite j'ai des problemes avec PHP qui ne gère pas bien
l'UTF-8 ?

Vraiment ? Je n'utilise pas PHP mais un logiciel utilisé presque
uniquement pour le Web et qui ne gère pas UTF-8, cela parait difficile
à croire.


De fait, PHP ne gère pas UTF-8 d'une manière native.
Par contre, il dispose de différents moyens pour s'en sortir. Par
contre, à chaque étape, il faut savoir quel est l'encodage de la chaîne
de caractères.
On peut détecter si la chaîne est en UTF-8 via la méthode ci-dessous et
encoder en UTF-8 via utf8_encode si la chaîne ne l'est pas.
Jetez aussi un coup d'oeil à la liaison avec iconv.
http://fr.php.net/manual/fr/ref.iconv.php

 public function isUTF8 ($chaine) {
   // From http://w3.org/International/questions/qa-forms-utf-8.html
   return preg_match('%^(?:
         [\x09\x0A\x0D\x20-\x7E]            # ASCII
       | [\xC2-\xDF][\x80-\xBF]            # non-overlong 2-byte
       |  \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
       | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte
       |  \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
       |  \xF0[\x90-\xBF][\x80-\xBF]{2}    # planes 1-3
       | [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15
       |  \xF4[\x80-\x8F][\x80-\xBF]{2}    # plane 16
   )*$%xs', $chaine);
    }

Cordialement


J'ai finalement refait le test suivant:

Creation de la base en LATIN9
dans les script schema et data sql de la base j'ai SET CLIENT_ENCODING='LATIN9'

Et avec psql -U user -d database -f script

schema d'abord, datas ensuite (j'ai scindé les deux).

Et bien là je n'ai eu aucun problémes. Donc j'avais un soucis avec pgAdminIII à ce niveau là pour le latin9 car en effet pgAdminIII gere en UTF-8

Maintenant il ne me reste plus qu'à faire le necessaire coté apache/php pour voir si j ai toujrous le problem :)

merci

laurent




Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group