|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Inscription : avril 2010 Messages : 307 ![]() |
Bonjour,
SVP tout est OK dans l'affichage de mes textes, tout marche normalement. Mais lorsque j'effectue une recherche dans mon formulaire avec un mot clé ayant des accents, rien ne s'affiche, pourtant le mot clé existe bien dans la table dans plusieurs occurrences. Dans ma table, mon champ est de type TEXT et l'interclassement est à latin1_general_ci . Je voudrais préciser que avec le type VARCHAR ça marche parfaitement, mais lorsque je dois utiliser un type pour les gros textes, il faut passer à autre chose et je ne peux pas utilisé BLOB par ce qu'il est sensible à la casse, je ne peux que utiliser TEXT ou LONGTEXT mais aucun ne gère les accents comme je veux. Quelqu'un a t-il une idée ? Merci. |
|
|
00
|
|
|
#2 | |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
Citation:
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : avril 2010 Messages : 307 ![]() |
Peut-être, mais pourquoi seulement sur les champs BLOB , TEXT et LONGTEXT, pourquoi ça marche partout ailleurs ?
|
|
|
00
|
|
|
#4 | |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
Citation:
Eventuellement donne-nous un court dump de ta BdD et un petit script PHP à tester.
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
|
00
|
|
|
#5 | ||||||
|
Membre habitué
![]() Inscription : avril 2010 Messages : 307 ![]() |
OK, dans ma base de données, j'ai une table simple avec trois champs:
Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
pourquoi tu travailles pas en utf-8 ?
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
@mesken
Après correction du nom de champ chez moi la recherche d'un mot accentué fonctionne correctement. Attention aux charsets PHP / MySQL, assure-toi d'avoir du Latin-1 ou ISO-8859-1 partout.
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() Inscription : avril 2010 Messages : 307 ![]() |
J'ai mis du temps à répondre parce que je voulais tester tout ce que je pouvais tester et être sûr avant de repondre. Mais sincèrement je ne sais pas ce qui se passe. La recherche avec les accents ne passe toujours pas sur certains champs pourtant ça passe sur d'autres, je ne comprends pas vraiment se qui se passe. Tous les champs ont pourtant le même Interclassement.
J'ai mis du Latin1_general_ci Séb., j'ai même laissé la valeur par défaut Latin1_swedish_ci, j'ai même utilisé utf8 stealth35 sans changement Merci |
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Inscription : avril 2010 Messages : 307 ![]() |
Merci beaucoup Séb. et stealth35 et tous les autres. Je n'ai pas encore trouvé la solution mais j'ai une piste très intéressante qui nous aidera tous. En fait voici ce que j'ai découvert :
Le problème vient en fait de l'éditeur FCKEditor. Lorsque j'utilise une zone de texte normale pour enregistrer les données dans la table, la recherche se passe normalement avec ou sans accents, mais lorsque j'utilise l'éditeur pour enregistrer les données sur les gros champs, la recherche avec les accents ne marche pas. Je suis allé un peu plus loin dans ma recherche, et je me rend compte dans la table, lorsque je passe par une zone de texte simple pour enregistrer le mot évènement par exemple, dans la table, j'ai ceci évènement, mais lorsque je passe par l'éditeur, j'ai ceci dans la table évènement, donc en fait avec l'éditeur, le codage est différent et c'est ça qui pose problème Comment je peux résoudre ce problème SVP Merci |
|
|
00
|
|
|
#10 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
les insert n'était pas bons, dans ta table les donnée doivent être sans traitement, donc va falloir réparé ça, tout récupéré et tout réimporté dans le bon format
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#11 | ||
|
Membre habitué
![]() Inscription : avril 2010 Messages : 307 ![]() |
OK, merci beaucoup stealh35
Pour enregistrer des valeurs dans toutes les tables de mon application, voici ce que je fais. Soient deux champs Nom et Prenom d'une table employe Lorsque l'utilisateur envoit le formulaire, je fais ceci Code :
STP il y a t-il un Script de plus à ajouter dans PHP ou quelques chose d'autre à faire dans MYSQL pour parvenir à ce que tu dis ? Merci |
||
|
|
00
|
|
|
#12 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
c'est pas addslashes mais mysql_real_escape_string
tu dois aussi faire un mysql_set_charset après la connexion, je te conseil de travailler en utf-8
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#13 |
|
Membre habitué
![]() Inscription : avril 2010 Messages : 307 ![]() |
Merci beaucoup stealth35, ça marche !!!!!
J'aimerai aussi savoir si c'est possible de changer l'Interclassement de toutes les tables à l'aide d'une commande, parce que j'ai environ 100 tables et je voudrais les mettre toutes à utf8 et ce sera pénible de le faire champ après champ. Et aussi je voudrais savoir si c'est possible de définir l'Interclassement par défaut de chaque table qui sera créée ? Merci |
|
|
00
|
|
|
#14 | ||
|
Nouveau Membre du Club
![]() Inscription : novembre 2007 Messages : 43 ![]() |
Citation:
Code :
ALTER TABLE `nom_table` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
Je verrai plus plus une petite boucle avec un décodage des caractères html mais il y a peut-être mieux, je ne sais pas. Aprés le connexion à ta base, met un Citation:
|
||
|
|
00
|
|
|
#15 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
Citation:
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
|
|
#16 | |
|
Nouveau Membre du Club
![]() Inscription : novembre 2007 Messages : 43 ![]() |
Citation:
Ouuups désolé |
|
|
|
00
|
|
|
#17 |
|
Membre habitué
![]() Inscription : avril 2010 Messages : 307 ![]() |
OK, merci beaucoup pour le charset par défaut sur chaque table.
Pour que les transactions se fassent avec le bon charset, je l'ai déjà fait plus haut, selon l'astuce que m'a donné stealth35 , c'est pourquoi je disais que ça marche !! Merci encore |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com