probleme pour ajouter fonc.. supprimer ts les carac..s spéc

Invité
Invité n'ayant pas de compte PHPfrance

17 févr. 2009, 10:53

un autre message d'aide s'il vous plais

ViPHP
ViPHP | 4039 Messages

17 févr. 2009, 11:43

L'UTF-8 gère les accents normalement. Essaye plutôt <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=iso-8859-1"> pour les écritures européennes et iso-8859-15 pour gérer le iso-8859-1 + le signe euro.
UTF-8 peut encoder n'importe quel caractère unicode, et y'en à environ 100.000. Si l'utf-8 gère le japonais et le luxembourgeois, il peut parfaitement gérer les lettres accentuées. (unicode a pour vocation de réunir tous les alphabets du monde entier tel qu'il est grand mais fini)

Un petit aperçu (encore faut-il avoir les librairies correctes pour les afficher, ces alphabets):
http://ourworld.compuserve.com/homepage ... f8-jap.htm

Il faut donc juste s'assurer que les scripts php soient bien enregistrés au format utf-8 (et remettre la page dans son format originel: pour peu que des données viennent d'une DB, ça risque de foirer), et s'assurer que les chaines traitées soient bien toutes au format UTF-8.

Après, pour remplacer proprement tout les caractères spéciaux, les expressions régulières fonctionnent à merveille, du style:
preg_replace("#\W#","",$a_remplacer);

et pour les caractères accentués, j'ai péché je ne sais plus ou cette fonction:
function unaccent($text) 
  {
  static $search, $replace;
  if (!$search) 
    {
    $search = $replace = array();
    $trans = get_html_translation_table(HTML_ENTITIES);
    foreach ($trans as $literal => $entity) 
      {
      if (ord($literal) >= 192) 
        {
        $search[] = $literal;
        $replace[] = $entity[1];
        }
      }
    }
  return str_replace($search, $replace, $text);
  }
Je trouve original et fonctionnel. Juste que get_html_translation_table retourne les lettres au format iso-8859-1, donc il faut faut remplacer
 $search[] = $literal;
par
 $search[] = utf8_encode($literal);
Et sinon, pour gérer de gros soucis avec les encodages, php contient quelques extensions bien pratiques, comme mbstring.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphanteau du PHP | 34 Messages

23 févr. 2009, 11:24

bonjour excusez moi j'ai eu un probleme avec mon ordi
pouvez vous me donner encore des infos sur ses deux variables

elles proviennent de qu elle ligne

$search[] = $literal

ViPHP
ViPHP | 1996 Messages

23 févr. 2009, 11:36

Bonjour à tous,

$search[] = $literal est juste un exemple.


Si je reprends ton dernier POST :
je dois utiliser les fonctions utf8_encode() et utf8_decode() dans la page du plugin , car dans les pages du portail ,d'autre plugins envois des infos dans la base comme celui ci est ça marche

dans ma page j ai trouvé ça et je l ai mi en place .
et ça plante

string utf8_decode ( string $row )

mais information sont dans quel variables

$inputstr
$fieldname
$fieldtype
$row
As tu mis tel quel "string utf8_decode ( string $row )" ou as tu mis "$row = utf8_decode($row);"

Pour savoir où sont tes variables tu fais un echo() juste en dessous de tes variables. Cela te permettra d'afficher leur contenu.

Je pense que cela devient pour toi un peu confus. Essaye de nous montrer un exemple qui ne marche pas. (ou tu as les accents mal mis) Puis essaye de trouver où le code est créé (ou reviens vers nous pour qu'on te guide). Surtout ne mets pas toute tes pages ici... juste des morceaux.
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphanteau du PHP | 34 Messages

23 févr. 2009, 17:12

ok merci je vais regarder
comme ça ne marcher j'ai tous annulé
je vais réessayer