Page 1 sur 2

ASCII

Publié : 25 sept. 2005, 17:59
par Brian
Bonjour, :D

Je fais un script qui doit afficher ces caractères "Ø?áæ" "à$i+1+**?", mais je n'y arrive pas !
erreur :
Warning: Unexpected character in input: '' (ASCII=16) state=2 in
Merci par avance. Brian :roll:

Publié : 25 sept. 2005, 18:31
par jv2759
tu pourais nous passer le scripte pour voir...

Mais si tu veux du caractére aussi exotique, alors je te conseil de travailler en utf-8 à mon avie cela pauseras déjà un peux moins de probléme...

Publié : 25 sept. 2005, 18:35
par calimo
UN script... mais dans quel langage ?
Php, javascript, vbscript, asp, perl... et j'en oublie ! :lol:

En javascript tu peux encoder tes caractères en entités unicode

Code : Tout sélectionner

\uXXXX
où XXXX est le caractère unicode correspondant :wink:

Publié : 25 sept. 2005, 18:47
par Brian
C'est du PHP !
Mais comment convertir cette chaine en uft-8 ou en unicode en php ?

@+ Brian :P

Publié : 25 sept. 2005, 18:57
par jv2759
je pourais te le dire mais cela n'aurais aucun interais :

http://nexen.net/docs/

c'est la doc officiel de php si tu en fait à mettre IMPERATIVEMENT dans tes marque pages

tu tape utf dans la recherche et tu clic sur "dans la doc php"

et la tu trouve un :

utf8_encode

et si tu clic tu auras tout ce qu'il faut savoir...

Attention quand je parle de utf c'est pour l'intégraliter de la pages pas, uniquement pour les caractére en question...

Sinon donne nous le scripte que tu utilise et encore mieux un exemple de pages ou le pb ce pause...

Publié : 25 sept. 2005, 19:02
par Bobe
Ton sujet est très vague et tu donnes très peu d’infos, ce serait bien de fournir plus de détails (et notamment le code php à l’origine de cette erreur).

Je t’invite à lire cet article aussi:
http://french.joelonsoftware.com/Articles/Unicode.html

Publié : 25 sept. 2005, 19:04
par Brian
Voici le scrip (un peu compliqué !)

Code : Tout sélectionner

<?
include('haut.html');
If (empty($texte))
die("Merci de remplir la zone de texte !");
$texte = stripslashes($texte);
$texte = strtr($texte, 
"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ'!€",
"aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn .e");
$texte = strtoupper($texte);
If ($cable == 0)
{
$code = "Texte Compatible TI-82/TI-82 STATS<br><br>http://nouslesfrancais.free.fr<br><br>----------------------------------<br>----------------------------------<br><br>";
$mot = explode(" ", $texte);
For ($test=0; count($mot) > $test; $test++)
{
If (strlen($mot[$test]) > 16)
die("Le mot \"$mot[$test]\" est trop long.");
}
$compte = -1;
While ($compte < count($mot))
{
$i = 1;
While (($i <= 8) and ($compte < count($mot)))
{
$char = "";
While (strlen($char) + strlen($mot[$compte+1]) + 1 < 18)
{
$compte++;
$char = "$char $mot[$compte]";
}
$char = substr($char, 1);
$code = "$code<br>:Output($i,1,\"$char\")";
$i++;
}
$code = "$code<br>:Pause<br>:ClrHome";
}
echo "$code";
}

If ($cable == 0)
{
$code = "**TI82**
                                           C  4 TEXTE   4 2 á";
$mot = explode(" ", $texte);
For ($test=0; count($mot) > $test; $test++)
{
If (strlen($mot[$test]) > 16)
die("Le mot \"$mot[$test]\" est trop long.");
}
$compte = -1;
While ($compte < count($mot))
{
$i = 1;
While (($i <= 8) and ($compte < count($mot)))
{
$char = "";
While (strlen($char) + strlen($mot[$compte+1]) + 1 < 18)
{
$compte++;
$char = "$char $mot[$compte]";
}
$char = substr($char, 1);
$code = "$code à$i+1+*$char*?";
$i++;
}
$code = "$code Ø?áæ";
}
echo "$code";
}
include('bas.html');
?>

Publié : 25 sept. 2005, 19:07
par Brian
But du script :

Convertir du texte (placé dans $texte) en code pour un modèle de calculatrice ($code). Le problème, c'est que le code pour la calculatrice est un peu compilé donc peu lisible !

PS : l'erreur vient à la fin "$code = "$code Ø?áæ";"

Publié : 25 sept. 2005, 20:09
par jv2759
le probéme c'est que tu n'écrie pas que "$code Ø?áæ"

car entre le æ et le ", ils y as un caractére de controle ascii... Résultat php cherche à interpreter ce caractérer et le fichier plante...

comme tu ne peux pas l'utiliser directement bieser :

Code : Tout sélectionner

$code = "$code Ø?áæ". chr(10);

Publié : 25 sept. 2005, 21:28
par Brian
C'est loin d'être convaincant : sans effet !

@+ Brian

Publié : 25 sept. 2005, 21:42
par jv2759
attention tu as bien suprimer le caractére entre æ et "

Car si tu le laisse cela ne peux pas marcher...

Publié : 25 sept. 2005, 23:40
par Brian
Pour moi, il n'y pas de caractère entre æ et "...
Que dois-je taper exactement :?:

@+ Brian

Publié : 26 sept. 2005, 00:06
par jv2759
je vais te dire ce que j'ai fais sur le forum j'ai fait un copier coler de la ligne de code en question... Résultat pspad mal mit en evidance un caractére cacher... Caractérer de control qui perturbe le systéme...

En regard en hexa dessimal j'ai vue que c'était le caractére ascii 10

donc c'est pour cela que je l'ais ajouter...

Maintenant si tu n'en à pas besoin alors cela doit être une erreure de copier coler. Et donc suprime tout la ligne et tape la à la main... Et pour le æ si tu ne sais pas le faire récupére celui que j'ai écrie car la ou tu la récupérer tu as récupérer en plus un caractére de controle...

Publié : 26 sept. 2005, 17:12
par Brian
Comment fais-tu pour mettre une portion de texte en héxa ? Et existe-t-il une fonction associée en php ?

@+ Brian

Publié : 26 sept. 2005, 17:44
par jv2759
visualiser ou ecrire un caractére exa? Visualiser, est bien j'utilise un logiciel fait pour pspad par exemple...

Pour ajouter, c'est ce que je tes indiquer chr(codeExa);