����� ???

����� ??? - PHP - Programmation

Marsh Posté le 24-05-2010 à 14:21:34    

Bonjour...
 
que dois je appliquer pour virer ces affreux trucs ?
���
 
PS mes pages sont codées en UTF8
 
Merci BCP


---------------
http://www.ypikay.com
Reply

Marsh Posté le 24-05-2010 à 14:21:34   

Reply

Marsh Posté le 24-05-2010 à 20:46:18    

Peux tu s'il te plait être encore plus vague, de façon à ce que nous n'ayons absolument aucune chance de te répondre même si on le souhaitait ardemment ?
Merci


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Marsh Posté le 24-05-2010 à 21:17:43    

tes pages étaient dans un autre encodage , et tu fais des utf8decode sur quelque chose qui n'est pas de l'utf8

Reply

Marsh Posté le 24-05-2010 à 23:33:54    

apt-get install utf-crystal-ball sur ton serveur, ça marchera mieux :o


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 25-05-2010 à 01:59:55    

[:michaeldell]  
 
Je vois.... Je vois... un voyage .... un voyage initiatique ....  par ici : http://forum.hardware.fr/hfr/Progr [...] 0261_1.htm


Message édité par Pascal le nain le 25-05-2010 à 02:00:18
Reply

Marsh Posté le 25-05-2010 à 07:19:50    

Merci les gens.
désolé j'ai du m'absenter donc pas pu répondre
en fait je crée un fichier texte grâce à un Prog en VB ensuite je le compare avec la saisie de l'utilisateur sur la page de garde du site.
donc ma page PHP est codée en utf-8 : <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
quand je veux ressortir à l'écran les résultats trouvés dans les fichiers texte, tout fonctionne, evidemment sauf pour le cas de CHR spéciaux
d'un autre coté, les requetes affichées en bas de page sont issues d'une BdB PHPMyAdmin (oui je sais c'est pas bien)
le terme renvoyé (le champ requete de la BdB) est codé en utf8_general_ci dans la BdD
 
donc =>
textbox, saisie requete  
modif et suppression des accents (parce que le jour où nous saurons écrire français correctement, les poules auront des dents)
comparaison avec les fichiers, tri, magouille, tambouille etc etc
renvoi du résultat
 
seulement certains caractères n'ont pas du être inclus dans mon remplacement après la saisie textbox, je vois que ça :
 

Code :
  1. $input = str_replace("à","a",$input);//à
  2. $input = str_replace("ä","a",$input);//ä
  3. $input = str_replace("é","e",$input);//é
  4. $input = str_replace("è","e",$input);//è
  5. $input = str_replace("ë","e",$input);//ë
  6. $input = str_replace("ê","e",$input);//ê
  7. $input = str_replace("ï","i",$input);//ï
  8. $input = str_replace("î","i",$input);//î
  9. $input = str_replace("ö","o",$input);//ö
  10. $input = str_replace("ô","o",$input);//ô
  11. $input = str_replace("ù","u",$input);//ù
  12. $input = str_replace("û","u",$input);//û
  13. $input = str_replace("ü","u",$input);//ü
  14. $input = str_replace("ç","c",$input);//ç


je sais je sais c'est codé au rouleau compresseur


---------------
http://www.ypikay.com
Reply

Marsh Posté le 25-05-2010 à 08:36:27    

Salut,
 
En quel encodage ressort ton texte VB ?
 
Sinon, en vrac :
 
- que donnent tes tests ? comment arrives-tu à des caractères type ö alors que toute la saisie est censée être en UTF-8 ?
 
- pense, pour les caractères spéciaux, à voir si ce qui est saisi fait partie de la table ASCII avec la fonction ord(). Attention à la table ASCII : j'ai cru comprendre que plusieurs trucs cohabitaient, chez moi c'est http://www.ascii-code.com/ qui a fait référence et pas http://www.asciitable.com/ d'ailleurs si qqun a une explication à ce sujet...
 
- gère la transco en base et pas en dur dans le code PHP, ça permet d'être plus réactif en cas de nouveau pépin, ça m'a coûté 1/2 journée récemment mais après tu auras la PAIX,
 
- si tes utilisateurs font la saisie via un c/c depuis Word, attention aux caractères très exotiques (mais disponibles dans la table ASCII) comme une right single quote à la place d'une apostrophe [:marc],
 
PS : ta future bible :D http://www.utf8-chartable.de/unicode-utf8-table.pl
 
PPS : si jamais ça peut te servir, voici ce que j'ai utilisé récemment pour faire de l'encodage ISO => UTF-8 => HTML, ce sont les codes hexa...
 
colonne 1 : code hexa ISO-8859-1
colonne 2 : code hexa UTF-8
colonne 3 : code décimal HTML
colonne 4 : description
 
(null, '\x40', '&#64;', 'Arobase')
(null, '\x7e', '&#126;', 'Tilde (equivalency sign)')
('\xc2\x80', '\xe2\x82\xac', '&#8364;', 'Euro sign')
('\xc2\x82', '\xe2\x80\x9a', '&#8218;', 'Single low-9 quotation mark')
('\xc2\x83', '\xc6\x92', '&#402;', 'Latin small letter f with hook')
('\xc2\x84', '\xe2\x80\x9e', '&#8222;', 'Double low-9 quotation mark')
('\xc2\x85', '\xe2\x80\xa6', '&#8230;', 'Horizontal ellipsis')
('\xc2\x86', '\xe2\x80\xa0', '&#8224;', 'Dagger')
('\xc2\x87', '\xe2\x80\xa1', '&#8225;', 'Double dagger')
('\xc2\x88', '\xcb\x86', '&#710;', 'Modifier letter circumflex accent')
('\xc2\x89', '\xe2\x80\xb1', '&#8240;', 'Per mille sign')
('\xc2\x8a', '\xc5\xa0', '&#352;', 'Latin capital letter S with caron')
('\xc2\x8b', '\xe2\x80\xb9', '&#8249;', 'Single left-pointing angle quotation mark')
('\xc2\x8c', '\xc5\x92', '&#338;', 'Latin capital ligature OE')
('\xc2\x8e', '\xc5\xbd', 'Z', 'Latin captial letter Z with caron (non trouvé : transformé en Z classique)')
('\xc2\x91', '\xe2\x80\x98', '&#8216;', 'Left single quotation mark')
('\xc2\x92', '\xe2\x80\x99', '&#8217;', 'Right single quotation mark')
('\xc2\x93', '\xe2\x80\x9c', '&#8220;', 'Left double quotation mark')
('\xc2\x94', '\xe2\x80\x9d', '&#8221;', 'Right double quotation mark')
('\xc2\x95', '\xe2\x80\xa2', '&#8226;', 'Bullet')
('\xc2\x96', '\xe2\x80\x93', '&#8211;', 'En dash')
('\xc2\x97', '\xe2\x80\x94', '&#8212;', 'Em dash')
('\xc2\x98', '\xcb\x9c', '&#8764;', 'Small tilde')
('\xc2\x99', '\xe2\x84\xa2', '&#8482;', 'Trade mark sign')
('\xc2\x9a', '\xc5\xa1', '&#353;', 'Latin small letter S with caron')
('\xc2\x9b', '\xe2\x80\xba', '&#8250;', 'Single right-pointing angle quotation mark')
('\xc2\x9c', '\xc5\x93', '&#339;', 'Latin small ligature oe')
('\xc2\x9e', '\xc5\xbe', 'z', 'Latin small letter z with caron (non trouvé : transformé en z classique)')
('\xc2\x9f', '\xc5\xb8', '&#376;', 'Latin capital letter Y with diaeresis')
(null, '\xc2\xa0', '&#160;', 'Non-breaking space')
(null, '\xc2\xa1', '&#161;', 'Inverted exclamation mark')
(null, '\xc2\xa2', '&#162;', 'Cent sign')
(null, '\xc2\xa3', '&#163;', 'Pound sign')
(null, '\xc2\xa4', '&#164;', 'Currency sign')
(null, '\xc2\xa5', '&#165;', 'Yen sign')
(null, '\xc2\xa6', '&#166;', 'Pipe, Broken vertical bar')
(null, '\xc2\xa7', '&#167;', 'Section sign')
(null, '\xc2\xa8', '&#168;', 'Spacing diaeresis - umlaut')
(null, '\xc2\xa9', '&#169;', 'Copyright sign')
(null, '\xc2\xaa', '&#170;', 'Feminine ordinal indicator')
(null, '\xc2\xab', '&#171;', 'Left double angle quotes')
(null, '\xc2\xac', '&#172;', 'Not sign')
(null, '\xc2\xad', '&#173;', 'Soft hyphen')
(null, '\xc2\xae', '&#174;', 'Registered trade mark sign')
(null, '\xc2\xaf', '&#175;', 'Spacing macron - overline')
(null, '\xc2\xb0', '&#176;', 'Degree sign')
(null, '\xc2\xb1', '&#177;', 'Plus-or-minus sign')
(null, '\xc2\xb2', '&#178;', 'Superscript two - squared')
(null, '\xc2\xb3', '&#179;', 'Superscript three - cubed')
(null, '\xc2\xb4', '&#180;', 'Acute accent - spacing acute')
(null, '\xc2\xb5', '&#181;', 'Micro sign')
(null, '\xc2\xb6', '&#182;', 'Pilcrow sign - paragraph sign')
(null, '\xc2\xb7', '&#183;', 'Middle dot - Georgian comma')
(null, '\xc2\xb8', '&#184;', 'Spacing cedilla')
(null, '\xc2\xb9', '&#185;', 'Superscript one')
(null, '\xc2\xba', '&#186;', 'Masculine ordinal indicator')
(null, '\xc2\xbb', '&#187;', 'Right double angle quotes')
(null, '\xc2\xbc', '&#188;', 'Fraction one quarter')
(null, '\xc2\xbd', '&#189;', 'Fraction one half')
(null, '\xc2\xbe', '&#190;', 'Fraction three quarters')
(null, '\xc2\xbf', '&#191;', 'Inverted question mark')
(null, '\xc3\x80', '&#192;', 'Latin capital letter A with grave')
(null, '\xc3\x81', '&#193;', 'Latin capital letter A with acute')
(null, '\xc3\x82', '&#194;', 'Latin capital letter A with circumflex')
(null, '\xc3\x83', '&#195;', 'Latin capital letter A with tilde')
(null, '\xc3\x84', '&#196;', 'Latin capital letter A with diaeresis')
(null, '\xc3\x85', '&#197;', 'Latin capital letter A with ring above')
(null, '\xc3\x86', '&#198;', 'Latin capital letter AE')
(null, '\xc3\x87', '&#199;', 'Latin capital letter C with cedilla')
(null, '\xc3\x88', '&#200;', 'Latin capital letter E with grave')
(null, '\xc3\x89', '&#201;', 'Latin capital letter E with acute')
(null, '\xc3\x8a', '&#202;', 'Latin capital letter E with circumflex')
(null, '\xc3\x8b', '&#203;', 'Latin capital letter E with diaeresis')
(null, '\xc3\x8c', '&#204;', 'Latin capital letter I with grave')
(null, '\xc3\x8d', '&#205;', 'Latin capital letter I with acute')
(null, '\xc3\x8e', '&#206;', 'Latin capital letter I with circumflex')
(null, '\xc3\x8f', '&#207;', 'Latin capital letter I with diaeresis')
(null, '\xc3\x90', '&#208;', 'Latin capital letter ETH')
(null, '\xc3\x91', '&#209;', 'Latin capital letter N with tilde')
(null, '\xc3\x92', '&#210;', 'Latin capital letter O with grave')
(null, '\xc3\x93', '&#211;', 'Latin capital letter O with acute')
(null, '\xc3\x94', '&#212;', 'Latin capital letter O with circumflex')
(null, '\xc3\x95', '&#213;', 'Latin capital letter O with tilde')
(null, '\xc3\x96', '&#214;', 'Latin capital letter O with diaeresis')
(null, '\xc3\x97', '&#215;', 'Multiplication sign')
(null, '\xc3\x98', '&#216;', 'Latin capital letter O with slash')
(null, '\xc3\x99', '&#217;', 'Latin capital letter U with grave')
(null, '\xc3\x9a', '&#218;', 'Latin capital letter U with acute')
(null, '\xc3\x9b', '&#219;', 'Latin capital letter U with circumflex')
(null, '\xc3\x9c', '&#220;', 'Latin capital letter U with diaeresis')
(null, '\xc3\x9d', '&#221;', 'Latin capital letter Y with acute')
(null, '\xc3\x9e', '&#222;', 'Latin capital letter THORN')
(null, '\xc3\x9f', '&#223;', 'Latin small letter sharp s - ess-zed')
(null, '\xc3\xa0', '&#224;', 'Latin small letter a with grave')
(null, '\xc3\xa1', '&#225;', 'Latin small letter a with acute')
(null, '\xc3\xa2', '&#226;', 'Latin small letter a with circumflex')
(null, '\xc3\xa3', '&#227;', 'Latin small letter a with tilde')
(null, '\xc3\xa4', '&#228;', 'Latin small letter a with diaeresis')
(null, '\xc3\xa5', '&#229;', 'Latin small letter a with ring above')
(null, '\xc3\xa6', '&#230;', 'Latin small letter ae')
(null, '\xc3\xa7', '&#231;', 'Latin small letter c with cedilla')
(null, '\xc3\xa8', '&#232;', 'Latin small letter e with grave')
(null, '\xc3\xa9', '&#233;', 'Latin small letter e with acute')
(null, '\xc3\xaa', '&#234;', 'Latin small letter e with circumflex')
(null, '\xc3\xab', '&#235;', 'Latin small letter e with diaeresis')
(null, '\xc3\xac', '&#236;', 'Latin small letter i with grave')
(null, '\xc3\xad', '&#237;', 'Latin small letter i with acute')
(null, '\xc3\xae', '&#238;', 'Latin small letter i with circumflex')
(null, '\xc3\xaf', '&#239;', 'Latin small letter i with diaeresis')
(null, '\xc3\xb0', '&#240;', 'Latin small letter eth')
(null, '\xc3\xb1', '&#241;', 'Latin small letter n with tilde')
(null, '\xc3\xb2', '&#242;', 'Latin small letter o with grave')
(null, '\xc3\xb3', '&#243;', 'Latin small letter o with acute')
(null, '\xc3\xb4', '&#244;', 'Latin small letter o with circumflex')
(null, '\xc3\xb5', '&#245;', 'Latin small letter o with tilde')
(null, '\xc3\xb6', '&#246;', 'Latin small letter o with diaeresis')
(null, '\xc3\xb7', '&#247;', 'Division sign')
(null, '\xc3\xb8', '&#248;', 'Latin small letter o with slash')
(null, '\xc3\xb9', '&#249;', 'Latin small letter u with grave')
(null, '\xc3\xba', '&#250;', 'Latin small letter u with acute')
(null, '\xc3\xbb', '&#251;', 'Latin small letter u with circumflex')
(null, '\xc3\xbc', '&#252;', 'Latin small letter u with diaeresis')
(null, '\xc3\xbd', '&#253;', 'Latin small letter y with acute')
(null, '\xc3\xbe', '&#254;', 'Latin small letter thorn')
(null, '\xc3\xbf', '&#255;', 'Latin small letter y with diaeresis')

Reply

Marsh Posté le 25-05-2010 à 17:51:19    

Merci beaucoup Fred. Je ne pige pas, je me suis tapé les 5000 chr spéciaux via le VB pour supprimer les accents mais j'en ai toujours qui trainent... Bon je bosse là dessus et je vous tiens au courant


---------------
http://www.ypikay.com
Reply

Marsh Posté le 25-05-2010 à 20:09:02    

hint : ne pas utiliser de VB pour ça :o


---------------
Blablaté par Harko
Reply

Marsh Posté le 27-05-2010 à 19:11:54    

gatsu35 a écrit :

hint : ne pas utiliser de VB pour ça :o


 
Heu ? de quoi tu causes toi ?


---------------
http://www.ypikay.com
Reply

Marsh Posté le 27-05-2010 à 19:11:54   

Reply

Marsh Posté le 27-05-2010 à 20:27:01    

bah VB6 et l'utF-8 == caca, tu codes ton appli en AIR par exemple ca sera mieux :D


---------------
Blablaté par Harko
Reply

Marsh Posté le 27-05-2010 à 21:21:23    

ok je vais voir de ce coté...


---------------
http://www.ypikay.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed