Tous les formulaires sont récupérer par une fonction qui convertit tout
les caractères avec la fonction encodeURIComponent() et envoie coté
serveur en Ajax post.
Coté serveur, php renvoie le texte correctement (avec entêtes iso-8859-1
et décodages utf8). Mais bizarrement le seul caractère qui foire est le
caractère .
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Mr Prout !
Y a personne nous a pondu :
Bonjour,
J'ai une application js/php/Mysql - 100% Ajax
Tous les formulaires sont récupérer par une fonction qui convertit tout les caractères avec la fonction encodeURIComponent() et envoie coté serveur en Ajax post.
Coté serveur, php renvoie le texte correctement (avec entêtes iso-8859-1 et décodages utf8). Mais bizarrement le seul caractère qui foire est le caractère .
Et si tu essaies avec iso-8859-15 ?? ^
Mr Prout !
Y a personne nous a pondu :
Bonjour,
J'ai une application js/php/Mysql - 100% Ajax
Tous les formulaires sont récupérer par une fonction qui convertit tout
les caractères avec la fonction encodeURIComponent() et envoie coté
serveur en Ajax post.
Coté serveur, php renvoie le texte correctement (avec entêtes iso-8859-1
et décodages utf8). Mais bizarrement le seul caractère qui foire est le
caractère .
Tous les formulaires sont récupérer par une fonction qui convertit tout les caractères avec la fonction encodeURIComponent() et envoie coté serveur en Ajax post.
Coté serveur, php renvoie le texte correctement (avec entêtes iso-8859-1 et décodages utf8). Mais bizarrement le seul caractère qui foire est le caractère .
Et si tu essaies avec iso-8859-15 ?? ^
Mr Prout !
Y a personne
Y a personne nous a pondu :
Bonjour,
J'ai une application js/php/Mysql - 100% Ajax
Tous les formulaires sont récupérer par une fonction qui convertit tout les caractères avec la fonction encodeURIComponent() et envoie coté serveur en Ajax post.
Coté serveur, php renvoie le texte correctement (avec entêtes iso-8859-1 et décodages utf8). Mais bizarrement le seul caractère qui foire est le caractère .
Et si tu essaies avec iso-8859-15 ?? ^
Mr Prout !
Après avoir fait des test toutes l'après midi... j'ai trouvé une solution.
Le problème est que coté serveur j'avais un truc du genre
Ainsi, le s'enregistre en dur dans MySQL, et peut réapparaître en dur. ⬠est le résultat de modifier par encodeURIComponent() --> Ajax POST --> header("Content-type: text/html; charset=iso-8859-1");
Si tu as plus simple, je suis preneur, merci
Y a personne nous a pondu :
Bonjour,
J'ai une application js/php/Mysql - 100% Ajax
Tous les formulaires sont récupérer par une fonction qui convertit
tout les caractères avec la fonction encodeURIComponent() et envoie
coté serveur en Ajax post.
Coté serveur, php renvoie le texte correctement (avec entêtes
iso-8859-1 et décodages utf8). Mais bizarrement le seul caractère qui
foire est le caractère .
Et si tu essaies avec iso-8859-15 ??
^
Mr Prout !
Après avoir fait des test toutes l'après midi...
j'ai trouvé une solution.
Le problème est que coté serveur j'avais un truc du genre
Ainsi, le s'enregistre en dur dans MySQL, et peut réapparaître en dur.
⬠est le résultat de modifier par encodeURIComponent() --> Ajax POST
--> header("Content-type: text/html; charset=iso-8859-1");
Tous les formulaires sont récupérer par une fonction qui convertit tout les caractères avec la fonction encodeURIComponent() et envoie coté serveur en Ajax post.
Coté serveur, php renvoie le texte correctement (avec entêtes iso-8859-1 et décodages utf8). Mais bizarrement le seul caractère qui foire est le caractère .
Et si tu essaies avec iso-8859-15 ?? ^
Mr Prout !
Après avoir fait des test toutes l'après midi... j'ai trouvé une solution.
Le problème est que coté serveur j'avais un truc du genre
Ainsi, le s'enregistre en dur dans MySQL, et peut réapparaître en dur. ⬠est le résultat de modifier par encodeURIComponent() --> Ajax POST --> header("Content-type: text/html; charset=iso-8859-1");
Si tu as plus simple, je suis preneur, merci
Olivier Miakinen
Coté serveur, php renvoie le texte correctement (avec entêtes iso-8859-1 et décodages utf8). Mais bizarrement le seul caractère qui foire est le caractère ¤.
En iso-8859-1 ? Pas étonnant : il n'en fait pas partie. D'ailleurs ton nouvelleur est obligé de passer en windows-1252 pour l'inclure dans ton article. Pour ta page web, il te faut soit tout passer en utf-8, soit convertir « ¤ » en « € » ou toute autre entité équivalente.
Coté serveur, php renvoie le texte correctement (avec entêtes iso-8859-1
et décodages utf8). Mais bizarrement le seul caractère qui foire est le
caractère ¤.
En iso-8859-1 ? Pas étonnant : il n'en fait pas partie. D'ailleurs ton
nouvelleur est obligé de passer en windows-1252 pour l'inclure dans ton
article. Pour ta page web, il te faut soit tout passer en utf-8, soit
convertir « ¤ » en « € » ou toute autre entité équivalente.
Coté serveur, php renvoie le texte correctement (avec entêtes iso-8859-1 et décodages utf8). Mais bizarrement le seul caractère qui foire est le caractère ¤.
En iso-8859-1 ? Pas étonnant : il n'en fait pas partie. D'ailleurs ton nouvelleur est obligé de passer en windows-1252 pour l'inclure dans ton article. Pour ta page web, il te faut soit tout passer en utf-8, soit convertir « ¤ » en « € » ou toute autre entité équivalente.
Olivier Miakinen
Après avoir fait des test toutes l'après midi... j'ai trouvé une solution.
Ce n'est pas une solution, c'est un bug. Il se trouve que certains navigateurs sur Windows sont « sympas » (hum) et te laissent croire que ça marche alors qu'il n'en est rien (oui, même Mozilla et Firefox).
Je suppose que ton programme PHP est sauvegardé en windows-1252, avec donc un caractère 128 stocké à la place de l'. Ça semble marcher si tu utilises un navigateur qui transforme silencieusement l'iso-8859-1 en windows-1252 pour les caractères 128 à 159, mais certains de tes visiteurs auront un caractère de remplacement ou rien du tout là où toi tu vois un euro. Et bien sûr ta page n'est pas valide.
Après avoir fait des test toutes l'après midi...
j'ai trouvé une solution.
Ce n'est pas une solution, c'est un bug. Il se trouve que certains
navigateurs sur Windows sont « sympas » (hum) et te laissent croire que
ça marche alors qu'il n'en est rien (oui, même Mozilla et Firefox).
Je suppose que ton programme PHP est sauvegardé en windows-1252, avec
donc un caractère 128 stocké à la place de l'. Ça semble marcher si
tu utilises un navigateur qui transforme silencieusement l'iso-8859-1
en windows-1252 pour les caractères 128 à 159, mais certains de tes
visiteurs auront un caractère de remplacement ou rien du tout là où
toi tu vois un euro. Et bien sûr ta page n'est pas valide.
Après avoir fait des test toutes l'après midi... j'ai trouvé une solution.
Ce n'est pas une solution, c'est un bug. Il se trouve que certains navigateurs sur Windows sont « sympas » (hum) et te laissent croire que ça marche alors qu'il n'en est rien (oui, même Mozilla et Firefox).
Je suppose que ton programme PHP est sauvegardé en windows-1252, avec donc un caractère 128 stocké à la place de l'. Ça semble marcher si tu utilises un navigateur qui transforme silencieusement l'iso-8859-1 en windows-1252 pour les caractères 128 à 159, mais certains de tes visiteurs auront un caractère de remplacement ou rien du tout là où toi tu vois un euro. Et bien sûr ta page n'est pas valide.
Après avoir fait des test toutes l'après midi... j'ai trouvé une solution.
Ce n'est pas une solution, c'est un bug. Il se trouve que certains navigateurs sur Windows sont « sympas » (hum) et te laissent croire que ça marche alors qu'il n'en est rien (oui, même Mozilla et Firefox).
Je suppose que ton programme PHP est sauvegardé en windows-1252, avec donc un caractère 128 stocké à la place de l'. Ça semble marcher si tu utilises un navigateur qui transforme silencieusement l'iso-8859-1 en windows-1252 pour les caractères 128 à 159, mais certains de tes visiteurs auront un caractère de remplacement ou rien du tout là où toi tu vois un euro. Et bien sûr ta page n'est pas valide.
oui, je ne suis pas un pro de la gestion des caractères. Mais je suis un peu maniaque. Je voudrais le caractère mémoriser en dur dans MySQL (question de portabilité pour les exports et autre)
Je sais que ma solution n'est pas très pro, et je n'aime pas le fait que je doive tester tout les input (Il peut y avoir d'autre caractères que le ). Mon programme ne fonctionne que ss Firefox et comporte plus de 110 <form>. Mais certaines fonction doive effectivement fonctionner correctement dans divers sites (donc sous IE... et autre OS).
Si je sauvegarde € dans la BD, je dois donc faire 2 remplacements. Mais à mon avis c'est la meilleur solution.
merci
Après avoir fait des test toutes l'après midi...
j'ai trouvé une solution.
Ce n'est pas une solution, c'est un bug. Il se trouve que certains
navigateurs sur Windows sont « sympas » (hum) et te laissent croire que
ça marche alors qu'il n'en est rien (oui, même Mozilla et Firefox).
Je suppose que ton programme PHP est sauvegardé en windows-1252, avec
donc un caractère 128 stocké à la place de l'. Ça semble marcher si
tu utilises un navigateur qui transforme silencieusement l'iso-8859-1
en windows-1252 pour les caractères 128 à 159, mais certains de tes
visiteurs auront un caractère de remplacement ou rien du tout là où
toi tu vois un euro. Et bien sûr ta page n'est pas valide.
oui, je ne suis pas un pro de la gestion des caractères.
Mais je suis un peu maniaque. Je voudrais le caractère mémoriser en
dur dans MySQL (question de portabilité pour les exports et autre)
Je sais que ma solution n'est pas très pro, et je n'aime pas le fait que
je doive tester tout les input (Il peut y avoir d'autre caractères que
le ). Mon programme ne fonctionne que ss Firefox et comporte plus de
110 <form>. Mais certaines fonction doive effectivement fonctionner
correctement dans divers sites (donc sous IE... et autre OS).
Si je sauvegarde € dans la BD, je dois donc faire 2 remplacements.
Mais à mon avis c'est la meilleur solution.
Après avoir fait des test toutes l'après midi... j'ai trouvé une solution.
Ce n'est pas une solution, c'est un bug. Il se trouve que certains navigateurs sur Windows sont « sympas » (hum) et te laissent croire que ça marche alors qu'il n'en est rien (oui, même Mozilla et Firefox).
Je suppose que ton programme PHP est sauvegardé en windows-1252, avec donc un caractère 128 stocké à la place de l'. Ça semble marcher si tu utilises un navigateur qui transforme silencieusement l'iso-8859-1 en windows-1252 pour les caractères 128 à 159, mais certains de tes visiteurs auront un caractère de remplacement ou rien du tout là où toi tu vois un euro. Et bien sûr ta page n'est pas valide.
oui, je ne suis pas un pro de la gestion des caractères. Mais je suis un peu maniaque. Je voudrais le caractère mémoriser en dur dans MySQL (question de portabilité pour les exports et autre)
Je sais que ma solution n'est pas très pro, et je n'aime pas le fait que je doive tester tout les input (Il peut y avoir d'autre caractères que le ). Mon programme ne fonctionne que ss Firefox et comporte plus de 110 <form>. Mais certaines fonction doive effectivement fonctionner correctement dans divers sites (donc sous IE... et autre OS).
Si je sauvegarde € dans la BD, je dois donc faire 2 remplacements. Mais à mon avis c'est la meilleur solution.
merci
Olivier Miakinen
[...] (Il peut y avoir d'autre caractères que le ).
Notamment le qui n'appartient pas à iso-8859-1 non plus, et tant d'autres. La solution la plus universelle serait UTF-8, mais je comprends que tu recules si tu as déjà plus de 110 formulaires en Latin1.
Bonne chance, -- Olivier Miakinen
[...] (Il peut y avoir d'autre caractères que le ).
Notamment le qui n'appartient pas à iso-8859-1 non plus, et tant
d'autres. La solution la plus universelle serait UTF-8, mais je
comprends que tu recules si tu as déjà plus de 110 formulaires en
Latin1.
[...] (Il peut y avoir d'autre caractères que le ).
Notamment le qui n'appartient pas à iso-8859-1 non plus, et tant d'autres. La solution la plus universelle serait UTF-8, mais je comprends que tu recules si tu as déjà plus de 110 formulaires en Latin1.
Bonne chance, -- Olivier Miakinen
Y a personne
[...] (Il peut y avoir d'autre caractères que le ).
Notamment le qui n'appartient pas à iso-8859-1 non plus, et tant d'autres. La solution la plus universelle serait UTF-8, mais je comprends que tu recules si tu as déjà plus de 110 formulaires en Latin1.
Bonne chance,
J'ai tout essayer !
Un fichier UTF-8 avec <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
et une bd MySQL UTF8 et impossible de sauvegarder le caractère en dur sans remplacement
quid ?
[...] (Il peut y avoir d'autre caractères que le ).
Notamment le qui n'appartient pas à iso-8859-1 non plus, et tant
d'autres. La solution la plus universelle serait UTF-8, mais je
comprends que tu recules si tu as déjà plus de 110 formulaires en
Latin1.
Bonne chance,
J'ai tout essayer !
Un fichier UTF-8 avec
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
et une bd MySQL UTF8
et impossible de sauvegarder le caractère en dur sans remplacement
[...] (Il peut y avoir d'autre caractères que le ).
Notamment le qui n'appartient pas à iso-8859-1 non plus, et tant d'autres. La solution la plus universelle serait UTF-8, mais je comprends que tu recules si tu as déjà plus de 110 formulaires en Latin1.
Bonne chance,
J'ai tout essayer !
Un fichier UTF-8 avec <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
et une bd MySQL UTF8 et impossible de sauvegarder le caractère en dur sans remplacement
quid ?
Pierre Goiffon
Y a personne wrote:
J'ai tout essayer !
Un fichier UTF-8 avec <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
et une bd MySQL UTF8 et impossible de sauvegarder le caractère en dur sans remplacement
Pour que ça fonctionne il faut : - que vos pages soient envoyées en indiquant le codage utilisé (dans l'entête http en priorité, le meta peut être oublié) - que votre connexion à la base de données soit effectuée dans le bon codage (sous Mysql voir set names) - que la collation de votre base permette le stockage du caractère (si j'ai bonne mémoire les doc mysql parlent d'interclassement)
Y a personne wrote:
J'ai tout essayer !
Un fichier UTF-8 avec
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
et une bd MySQL UTF8
et impossible de sauvegarder le caractère en dur sans remplacement
Pour que ça fonctionne il faut :
- que vos pages soient envoyées en indiquant le codage utilisé (dans
l'entête http en priorité, le meta peut être oublié)
- que votre connexion à la base de données soit effectuée dans le bon
codage (sous Mysql voir set names)
- que la collation de votre base permette le stockage du caractère (si
j'ai bonne mémoire les doc mysql parlent d'interclassement)
Un fichier UTF-8 avec <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
et une bd MySQL UTF8 et impossible de sauvegarder le caractère en dur sans remplacement
Pour que ça fonctionne il faut : - que vos pages soient envoyées en indiquant le codage utilisé (dans l'entête http en priorité, le meta peut être oublié) - que votre connexion à la base de données soit effectuée dans le bon codage (sous Mysql voir set names) - que la collation de votre base permette le stockage du caractère (si j'ai bonne mémoire les doc mysql parlent d'interclassement)
Y a personne
Y a personne wrote:
J'ai tout essayer !
Un fichier UTF-8 avec <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
et une bd MySQL UTF8 et impossible de sauvegarder le caractère en dur sans remplacement
Pour que ça fonctionne il faut : - que vos pages soient envoyées en indiquant le codage utilisé (dans l'entête http en priorité, le meta peut être oublié) - que votre connexion à la base de données soit effectuée dans le bon codage (sous Mysql voir set names) - que la collation de votre base permette le stockage du caractère (si j'ai bonne mémoire les doc mysql parlent d'interclassement)
merci
après 2 nuits blanche, j'ai compris qu'il suffisait de mettre mysql_query("SET NAMES 'utf8'"); et tout était réglé....
on peut donc laisser ses fichiers et sa bd en ISO....
merci
Y a personne wrote:
J'ai tout essayer !
Un fichier UTF-8 avec
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
et une bd MySQL UTF8
et impossible de sauvegarder le caractère en dur sans remplacement
Pour que ça fonctionne il faut :
- que vos pages soient envoyées en indiquant le codage utilisé (dans
l'entête http en priorité, le meta peut être oublié)
- que votre connexion à la base de données soit effectuée dans le bon
codage (sous Mysql voir set names)
- que la collation de votre base permette le stockage du caractère (si
j'ai bonne mémoire les doc mysql parlent d'interclassement)
merci
après 2 nuits blanche, j'ai compris qu'il suffisait de mettre
mysql_query("SET NAMES 'utf8'"); et tout était réglé....
on peut donc laisser ses fichiers et sa bd en ISO....
Un fichier UTF-8 avec <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
et une bd MySQL UTF8 et impossible de sauvegarder le caractère en dur sans remplacement
Pour que ça fonctionne il faut : - que vos pages soient envoyées en indiquant le codage utilisé (dans l'entête http en priorité, le meta peut être oublié) - que votre connexion à la base de données soit effectuée dans le bon codage (sous Mysql voir set names) - que la collation de votre base permette le stockage du caractère (si j'ai bonne mémoire les doc mysql parlent d'interclassement)
merci
après 2 nuits blanche, j'ai compris qu'il suffisait de mettre mysql_query("SET NAMES 'utf8'"); et tout était réglé....
on peut donc laisser ses fichiers et sa bd en ISO....
merci
Pierre Goiffon
Y a personne wrote:
Pour que ça fonctionne il faut : - que vos pages soient envoyées en indiquant le codage utilisé (dans l'entête http en priorité, le meta peut être oublié) - que votre connexion à la base de données soit effectuée dans le bon codage (sous Mysql voir set names) - que la collation de votre base permette le stockage du caractère (si j'ai bonne mémoire les doc mysql parlent d'interclassement)
après 2 nuits blanche, j'ai compris qu'il suffisait de mettre mysql_query("SET NAMES 'utf8'"); et tout était réglé....
Voilà qui règle le 2eme point parmis ceux que je citais
on peut donc laisser ses fichiers et sa bd en ISO....
Cette dernière phrase m'inquiète...
Y a personne wrote:
Pour que ça fonctionne il faut :
- que vos pages soient envoyées en indiquant le codage utilisé (dans
l'entête http en priorité, le meta peut être oublié)
- que votre connexion à la base de données soit effectuée dans le bon
codage (sous Mysql voir set names)
- que la collation de votre base permette le stockage du caractère (si
j'ai bonne mémoire les doc mysql parlent d'interclassement)
après 2 nuits blanche, j'ai compris qu'il suffisait de mettre
mysql_query("SET NAMES 'utf8'"); et tout était réglé....
Voilà qui règle le 2eme point parmis ceux que je citais
on peut donc laisser ses fichiers et sa bd en ISO....
Pour que ça fonctionne il faut : - que vos pages soient envoyées en indiquant le codage utilisé (dans l'entête http en priorité, le meta peut être oublié) - que votre connexion à la base de données soit effectuée dans le bon codage (sous Mysql voir set names) - que la collation de votre base permette le stockage du caractère (si j'ai bonne mémoire les doc mysql parlent d'interclassement)
après 2 nuits blanche, j'ai compris qu'il suffisait de mettre mysql_query("SET NAMES 'utf8'"); et tout était réglé....
Voilà qui règle le 2eme point parmis ceux que je citais
on peut donc laisser ses fichiers et sa bd en ISO....