Re: probleme d'encodage de / PHP

From: "claude C(dot)" <claude(dot)di(dot)pg(at)free(dot)fr>
To:
Cc: pgsql-fr-generale <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: probleme d'encodage de / PHP
Date: 2006-05-30 13:36:17
Message-ID: 447C4A51.2050609@free.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale


>
>
>> 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

Claude C.

In response to

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Laurent Mesuré 2006-05-30 19:23:45 Re: probleme d'encodage de caractères
Previous Message Stephane Bortzmeyer 2006-05-30 13:33:40 Re: probleme d'encodage de