PHP-MySQL problemes encodage hebreu et autres
Résolu/Fermé
A voir également:
- PHP-MySQL problemes encodage hebreu et autres
- Encodage ascii - Guide
- La bible traduction intégrale hébreu-français pdf - Télécharger - Vie quotidienne
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
9 réponses
la reponse est sur le message 21 pour ceux qui la cherche toujours...
Merci a Grizzly et Ashus pour leur aide inestimable.....
Merci a Grizzly et Ashus pour leur aide inestimable.....
974_Vin's_974
Messages postés
547
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
19 février 2009
102
19 févr. 2009 à 06:07
19 févr. 2009 à 06:07
Si tu veu affiché quelque chose dan ta base de données, tu fais "echo $ta_variable"
Ben mais ca devant : "echo htmlentities($ta_variable)"
Ben mais ca devant : "echo htmlentities($ta_variable)"
974_Vin's_974
Messages postés
547
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
19 février 2009
102
19 févr. 2009 à 06:08
19 févr. 2009 à 06:08
Et rajoute ca tout en haut de ta page :
@header('Content-type:text/xml; charset=utf-8');
C du PHP
@header('Content-type:text/xml; charset=utf-8');
C du PHP
Merci de votre rapidité, mais évidement, j'ai déjà utilise le htmlentities() et rien n'y fait...
Mais pourquoi cela marche avec PHP-MyAdmin, je saisi de l'hébreu ou du russe et je vois de l'hébreu ou du russe...
Pourquoi pas en passant par les pages Web ??? Je me dis qu'il manque un convert ou qq chose comme ca, j'ai fouillé un peu les sources de PHP-MyAdmin et ils en font des tonnes de conversion sur les données.... mais laquelle serait la bonne ???
Encore merci d'avance
PS: j'essaye tout de suite le truc du @header et je vous dis....
Mais pourquoi cela marche avec PHP-MyAdmin, je saisi de l'hébreu ou du russe et je vois de l'hébreu ou du russe...
Pourquoi pas en passant par les pages Web ??? Je me dis qu'il manque un convert ou qq chose comme ca, j'ai fouillé un peu les sources de PHP-MyAdmin et ils en font des tonnes de conversion sur les données.... mais laquelle serait la bonne ???
Encore merci d'avance
PS: j'essaye tout de suite le truc du @header et je vous dis....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
gryzzly
Messages postés
4608
Date d'inscription
lundi 7 novembre 2005
Statut
Contributeur
Dernière intervention
24 octobre 2020
1 334
19 févr. 2009 à 06:26
19 févr. 2009 à 06:26
Les fichiers eux mêmes sont ils encodés en utf8 ? Erreur courante. Je me suis moi même pris longtemps la tête dessus par le passé.
Par ex. sous notepad++ : format > convertir en utf8
Tous les bons éditeurs gèrent l'encodage des fichiers.
Par ex. sous notepad++ : format > convertir en utf8
Tous les bons éditeurs gèrent l'encodage des fichiers.
gryzzly
Messages postés
4608
Date d'inscription
lundi 7 novembre 2005
Statut
Contributeur
Dernière intervention
24 octobre 2020
1 334
>
bloodipunk
19 févr. 2009 à 11:02
19 févr. 2009 à 11:02
et pourtant... si tu n'encodes pas tes sources en ut8, le rendu ne sera jamais utf8.
Ce que j'entends ? ben le fichier ... le document ... la source ... le fichier (php, asp...) qui contient le formulaire et scripts associés quoi ! Tous tes fichiers du projet. indexs, fichiers de configuration, etc, etc...
Je ne vois pas comment être plus clair :o)
Ce que j'entends ? ben le fichier ... le document ... la source ... le fichier (php, asp...) qui contient le formulaire et scripts associés quoi ! Tous tes fichiers du projet. indexs, fichiers de configuration, etc, etc...
Je ne vois pas comment être plus clair :o)
bloodipunk
>
gryzzly
Messages postés
4608
Date d'inscription
lundi 7 novembre 2005
Statut
Contributeur
Dernière intervention
24 octobre 2020
19 févr. 2009 à 14:29
19 févr. 2009 à 14:29
QUOI ???
tu veux dire que je suis oblige de me prendre TOUS les sources de la base (meme les fichiers simplement en require) dans notepad et de les sauvegarder TOUS en ut8 ???!!!!!! Sinon ça ne marchera pas ??....
Bon, ben j'ai essaye avec le source en question, edit avec notepad, save avec encode utf-8, je lance et... PAF, error message:
Warning: session_start(): Cannot send session cache limiter.. Et oui j'ai un session start qui doit se trouver au debut, mais l'encodage utf-8 doit rajouter une signature ou qq chose comme ca... Bref ca marche pas du tout !!!
Ça aurait été très étonnant... J'avais déjà entendu cette solution, mais seulement pour des récupérations de fichiers a injecter dans une base MySql... Donc j'ai toujours le meme probleme...
Dans Dreamweaver, il propose effectivement differentes manieres d'encoder le source (unicode normalization form) j'ai aussi tout essaye, le canonical decomposition, le compatibility decomposition, les deux, etc (C, D, KC et K) mais ca ne change abso9lu;ment rien a mon probleme....
HELP AGAIN !!!
tu veux dire que je suis oblige de me prendre TOUS les sources de la base (meme les fichiers simplement en require) dans notepad et de les sauvegarder TOUS en ut8 ???!!!!!! Sinon ça ne marchera pas ??....
Bon, ben j'ai essaye avec le source en question, edit avec notepad, save avec encode utf-8, je lance et... PAF, error message:
Warning: session_start(): Cannot send session cache limiter.. Et oui j'ai un session start qui doit se trouver au debut, mais l'encodage utf-8 doit rajouter une signature ou qq chose comme ca... Bref ca marche pas du tout !!!
Ça aurait été très étonnant... J'avais déjà entendu cette solution, mais seulement pour des récupérations de fichiers a injecter dans une base MySql... Donc j'ai toujours le meme probleme...
Dans Dreamweaver, il propose effectivement differentes manieres d'encoder le source (unicode normalization form) j'ai aussi tout essaye, le canonical decomposition, le compatibility decomposition, les deux, etc (C, D, KC et K) mais ca ne change abso9lu;ment rien a mon probleme....
HELP AGAIN !!!
gryzzly
Messages postés
4608
Date d'inscription
lundi 7 novembre 2005
Statut
Contributeur
Dernière intervention
24 octobre 2020
1 334
>
bloodipunk
19 févr. 2009 à 16:01
19 févr. 2009 à 16:01
je ne t'ai pas parlé de notepad, mais de notepad++.
et ca ne prend pas bcp de temps de faire travailler un logiciel à la chaine sur un lot de fichiers. 30 secondes peut être ?
peut être même qu'il suffit d'encoder en utf8 (sans BOM) le seul source du formulaire et du gestionnaire d'interaction avec la bdd.
et ca ne prend pas bcp de temps de faire travailler un logiciel à la chaine sur un lot de fichiers. 30 secondes peut être ?
peut être même qu'il suffit d'encoder en utf8 (sans BOM) le seul source du formulaire et du gestionnaire d'interaction avec la bdd.
bloodipunk
>
gryzzly
Messages postés
4608
Date d'inscription
lundi 7 novembre 2005
Statut
Contributeur
Dernière intervention
24 octobre 2020
20 févr. 2009 à 03:42
20 févr. 2009 à 03:42
notepad ou notepad++ c'est la meme, conversion au format utf-8 ou encodage utf-8 ou save as encode utf-8 = la meme !!!! Ca plante lamentablement.... une signature est creee qui fout la merde.... Dsl, mais comme je t'ai dis plus haut, ca ne marche pas !!~!!
Une autre solution peut-etre ???
Une autre solution peut-etre ???
974_Vin's_974
Messages postés
547
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
19 février 2009
102
19 févr. 2009 à 06:29
19 févr. 2009 à 06:29
Sinon ca :
htmlentities($ta_variable);ENT_QUOTES;
htmlentities($ta_variable);ENT_QUOTES;
bon ben @header('Content-type:text/html; charset=utf-8'); ne change strictement rien... malheureusement...
J'ai vraiment l'impression que cela ressemble a un problème de codage de la base MySql par rapport a mes pages, mais je tourne en rond, rien n'y fait, ni htmlentities(), ni htmlspecialchars() ni quoique ce soit que j'ai essayé...
J'ai aussi remarqué que lorsque je fait un utf8_encode() sur la zone a ajouter a la table, le résultat est le goupe de caracteres bizarres que je vois ensuite dans PHP-MyAdmin, of course... Comme si il y avait recodage....
De plus, pour le russe, ca irait, mais des chaines de caractères sont tronqués (comme pour les accents francais) vu qu'elles sont codees sur 2 caracteres dans la table.... Je pensais que c'etait a ca que servait le UTF-8... Faut-il compter le double de taille de la zone saisie a stocker dans la base (20 car dans la base pour 10 saisis ???!!!) dans ce cas ?...
Ca me paraissait bien plus simple, ces histoires d'encodages, surtout avec le UTF-8..... Bon, ben, j'y retourne...
J'ai vraiment l'impression que cela ressemble a un problème de codage de la base MySql par rapport a mes pages, mais je tourne en rond, rien n'y fait, ni htmlentities(), ni htmlspecialchars() ni quoique ce soit que j'ai essayé...
J'ai aussi remarqué que lorsque je fait un utf8_encode() sur la zone a ajouter a la table, le résultat est le goupe de caracteres bizarres que je vois ensuite dans PHP-MyAdmin, of course... Comme si il y avait recodage....
De plus, pour le russe, ca irait, mais des chaines de caractères sont tronqués (comme pour les accents francais) vu qu'elles sont codees sur 2 caracteres dans la table.... Je pensais que c'etait a ca que servait le UTF-8... Faut-il compter le double de taille de la zone saisie a stocker dans la base (20 car dans la base pour 10 saisis ???!!!) dans ce cas ?...
Ca me paraissait bien plus simple, ces histoires d'encodages, surtout avec le UTF-8..... Bon, ben, j'y retourne...
974_Vin's_974
Messages postés
547
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
19 février 2009
102
19 févr. 2009 à 06:46
19 févr. 2009 à 06:46
Alors là je ne sais pas, du tout ... J'avais le meme probleme que toi, avec ces losanges noirs, qui remplacé mes accents, et j'ai mis ce que je t'ai dit plus haut et maintenant ca passe sans probleme :-s ...
Dsl pour toi je n'ai pas d'autre solution
Dsl pour toi je n'ai pas d'autre solution
Me revoila, avec plus de détails sur mon problème:
j'ai effectué exactement la même saisie une fois via PHP-MyAdmin et une autre fois via un formulaire du site
1- ligne saisie dans PHP-MyAdmin et
2- ligne saisie via le formulaire XHTML:
Ci-dessous ce qu'on voit dans PHP-MyAdmin :
--------------------------------------------------------------------------------------------------------------------------------------------------------------
1| ברוכים הבאים לאתר של א. ישראלי, | text with ' " / \; & | Отель Чор Чанг радушно открывает перед вами
--------------------------------------------------------------------------------------------------------------------------------------------------------------
2|ברוכי×? הב×?×™×? ל×?| text with ' " / \; & | Отель Чор Ч
| תר של ×?. ישר×? | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Et voici ce qu'on vois dans la page web de visualisation XHTML
--------------------------------------------------------------------------------------------------------------------------------------------------------------
1| ?????? ????? ???? ?? ?. ??????, | text with ' " / \; & | ????? ??? ???? ?????
--------------------------------------------------------------------------------------------------------------------------------------------------------------
2|ברוכי�? הב�?י�? ל�?תר של �?. ישר�? | text with ' " / \; & | Отель Чор Ч
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Je reprécise que toutes mes pages Web sont en UTF-8, que la base et toutes les tables sont en UTF8_unicode_ci. toutes les zones sont simplement nettoyées avec mysql_real_escape_string() avant la maj de la table.
j'ai deja essayé de faire des utf8_encode et decode, des htmlentities, et autres htmlspecialchars(), de faire un CONVERT(, using utf-8) dans l'instruction de maj de la base.
La GRANDE Question est: Pourquoi cela fonctionne très bien dans PHPMyAdmin et pas dans mes pages, et surtout quelle est la solution, quelles conversions sont a faire que j'aurai raté ???
HELP... A L'AIDE, je suis bien bien dans la mouise......
j'ai effectué exactement la même saisie une fois via PHP-MyAdmin et une autre fois via un formulaire du site
1- ligne saisie dans PHP-MyAdmin et
2- ligne saisie via le formulaire XHTML:
Ci-dessous ce qu'on voit dans PHP-MyAdmin :
--------------------------------------------------------------------------------------------------------------------------------------------------------------
1| ברוכים הבאים לאתר של א. ישראלי, | text with ' " / \; & | Отель Чор Чанг радушно открывает перед вами
--------------------------------------------------------------------------------------------------------------------------------------------------------------
2|ברוכי×? הב×?×™×? ל×?| text with ' " / \; & | Отель Чор Ч
| תר של ×?. ישר×? | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Et voici ce qu'on vois dans la page web de visualisation XHTML
--------------------------------------------------------------------------------------------------------------------------------------------------------------
1| ?????? ????? ???? ?? ?. ??????, | text with ' " / \; & | ????? ??? ???? ?????
--------------------------------------------------------------------------------------------------------------------------------------------------------------
2|ברוכי�? הב�?י�? ל�?תר של �?. ישר�? | text with ' " / \; & | Отель Чор Ч
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Je reprécise que toutes mes pages Web sont en UTF-8, que la base et toutes les tables sont en UTF8_unicode_ci. toutes les zones sont simplement nettoyées avec mysql_real_escape_string() avant la maj de la table.
j'ai deja essayé de faire des utf8_encode et decode, des htmlentities, et autres htmlspecialchars(), de faire un CONVERT(, using utf-8) dans l'instruction de maj de la base.
La GRANDE Question est: Pourquoi cela fonctionne très bien dans PHPMyAdmin et pas dans mes pages, et surtout quelle est la solution, quelles conversions sont a faire que j'aurai raté ???
HELP... A L'AIDE, je suis bien bien dans la mouise......