Page 1 sur 1
caractères spéciaux non reconnus sous wampserver 5.5.12
Posté : 14 févr. 2022, 17:02
par Invité
Franchement je suis désolé de vous déranger avec mes problèmes d'installation d'un nouveau wampserver de 7 à 10.
Aprés mon problème de balises <? refusés (car maintenant c'est <?php) résolu dans le php.ini
Maintenant c'est un problème de caractères qui ne sont pas reconnus dans le moteur de recherches en php qui intérroge une BDD mysql.
Si je tape molière il me sort n'importe quoi, quasiment toute la BDD
Je suposes qu'il faut à nouveau que je régle quelque chose dans le php.ini, j'ai bien essayé de mettre ;default_charset = "iso-8859-1" mais ça ne marche toujours pas.
Là franchement je suis bloqué, j'ai cherché sur le net pendant une heure, je n'arrive pas à resoudre le problème
Tout marchait bien sous wampserver 5.3.4 mais sous 5.5.12 ça va plus.
Votre aide me serrait vraiment précieuse.
Re: caractères spéciaux non reconnus sous wampserver 5.5.12
Posté : 14 févr. 2022, 18:56
par @rthur
Aprés mon problème de balises <? refusés (car maintenant c'est <?php) résolu dans le php.ini
Non ce n'est pas résolu, tu as simplement trouvé un contournement car tu ne suis pas les bonnes pratiques de développement qui sont pourtant les mêmes sur ce point depuis au moins 10 ans.
Ma préconisation serait que tu prennes le temps de faire les modifications afin que ton code soit propre et que tu n'aies pas d'autres mauvaises surprises par la suite, notamment quand tu voudras héberger ton site ailleurs.
Maintenant c'est un problème de caractères qui ne sont pas reconnus dans le moteur de recherches en php qui intérroge une BDD mysql.
Si je tape molière il me sort n'importe quoi, quasiment toute la BDD
Au niveau de l'encodage, il faut tout passer en utf8, ça peut être un peu fastidieux à faire la migration mais au moins une fois que c'est fait c'est la garantie de ne plus avoir de problème d'encodage.
Pour ton soucis, il faut que tu debugues ta requête SQL et que tu la teste dans phpmyadmin pour voir ce que ça donne en direct, ça aide souvent à debuguer
Re: caractères spéciaux non reconnus sous wampserver 5.5.12
Posté : 14 févr. 2022, 20:08
par Invité
Grand merci pour ta réponse.
Je te jure sur l'honneur que quand j'aurai plus de temps je modifierai toutes mes balises <? en <?php
Mais là il faudrait que mon site en local marche correctement.
ce n'est pas un probléme de codage puisqu'il marchait pendant des années.
Mais bon comme je tiens à faire tout ce que tu me dis à la lettre , j'ai testé mon code sur phpmyadmin et il fonctionne normalement, je te le donne :
"SELECT DISTINCT*
FROM
*
WHERE
* LIKE 'molière' AND *=*
"
Puis-je suggérer qu'il faudrait initialiser quelque part un fichier .ini pour que les noms avec caractères spéciaux soit accepter, que les è deviennent des e... je ne sais pas quel fichier ini modifier et quelle ligne non plus...
Re: caractères spéciaux non reconnus sous wampserver 5.5.12
Posté : 14 févr. 2022, 20:09
par Invité
enfin dans le code ci-dessus j'ai remplacé les bases, les champs par *
Re: caractères spéciaux non reconnus sous wampserver 5.5.12
Posté : 15 févr. 2022, 09:45
par @rthur
ce n'est pas un probléme de codage puisqu'il marchait pendant des années.
Un code ça s'entretient, ça se refactorise, et ça doit suivre les évolutions du langage quand on change de serveur, ce que tu viens de faire.
Donc si ça peut être un problème de code (et ça l'est de façon quasiment certaine).
Mais bon comme je tiens à faire tout ce que tu me dis à la lettre , j'ai testé mon code sur phpmyadmin et il fonctionne
Si ta requête SQL fonctionne, c'est donc que tu as un problème au niveau de ton code.
A toi d'avancer dans ton debugage pour comprendre pourquoi ta requête n'est pas exécutée correctement.
Puis-je suggérer qu'il faudrait initialiser quelque part un fichier .ini pour que les noms avec caractères spéciaux soit accepter, que les è deviennent des e... je ne sais pas quel fichier ini modifier et quelle ligne non plus...
ça peut être un problème d'encodage de caractères, mais si c'est le cas alors comme je te l'ai indiqué la solution est de tout passer en utf8. Tu peux bricoler tes champs avec utf8_encode() ou utf8_decode() mais là encore (si ça marche) ça ne sera qu'un palliatif pas propre.
Re: caractères spéciaux non reconnus sous wampserver 5.5.12
Posté : 15 févr. 2022, 14:51
par Invité
Chaque fois que je me connecte ici, mon mot de passe est refusé..
Bref.
Oui, c'était bien un problème de code pas de ini.
C'est cette instruction là qui ne passait pas : htmlspecialchars je l'ai enlevé et tout marche comme avant.
Encore merci.
Re: caractères spéciaux non reconnus sous wampserver 5.5.12
Posté : 17 févr. 2022, 15:16
par Invité
Alors nouveau problème.
Tous mes fichiers .txt sur mon site depuis des années sont au format ANSI.
Problème avec win 10 : il met d'office en UTF-8 et mes fichiers texte n'affiche pas les caractères spéciaux !
Alors bien sûr je peux enregister en ANSI et ça marchera, mais faut faire la manip à chaque fois.
J'ai longuement cherché sur le net...
En local j'avais trouvé la solution en convertissant la chaine de caractère avec la fonction iconv , exemple :
$act2 = iconv("UTF-8", "WINDOWS-1252", $act);
Je la mets en ligne, et là catastrophe la fonction iconv est rejetée !
Alors soit on oblige win 10 à enregistrer tout d'office en ANSI. (j'ai pas trouvé comment faire).
Ou on passe par mon code php et une fonction que j'ai pas trouvé et qui marcherait avec mon vieux wampserver et sur le serveur free qui je supose est du dernier cri, et rejette certaines vieille version du PHP .
Votre aide me serrait précieuse, car là je deviens fou...