jai essayé ds un autre pc la ou installé mysql3 ça marche mais sur mon pc ou est installé mysql5 ça marche pas
Un mot arabe que tu vois sur 4 caractères peut en fait être codé sur 4*4 octets.
donc 16 octets.
Dans MySQL, le nom sur 4 caractères ne rentrera donc pas si tu as un champ CHAR(4) par exemple.
Il te faudra un CHAR(16).
En ce qui concerne l'encvodage, ce n'est justement pas l'encodage UTF-8 qu'il faut mettre, mais l'encodage utilisé par défaut pour tes lettres en arabe.
J'ai vu que ça existait, par exemple, il y a l'arabe ISO 8859-6, l'arabe DOS, l'arabe MacOS et l'arabe Windows.
A toi de trouver la correspondance dans la doc MySQL.
Peut-être ça cp1256
dans le fichier php essayé avec windows-1256 au lieu de utf-8 et dans php myadmin cp1256_general_ci
je les ai changé et le même message d'erreur d'hier seulement maintenant
اسبانياIllegal mix of collations (cp1256_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='j'ai fait echo
maintenant quand j'ai fait echo $nom_wil il me l'a affiché en arabe "اسبانيا"
avant le changement il affiche des carrés
Pour info, depuis, j'ai trouvé la cause de ce problème avec phpMyAdmin.
Il s'agit d'un double encodage en UTF-8. Je m'explique :
MySQL stocke en utf-8
On lui envoie des données en UTF-8 depuis PHP
Il y a donc un double encodage.
Joli déterrage !
3 ans & 3 mois après... Pour donner une explication déjà répétée maintes fois autour du Web depuis.
Magnifique.
Bonjour;
J'ai ajouté les deux lignes comme indiqué, mais le problème n'est pas encore résolu.
Quand je redémarre mysql, il m'affiche un message:
ERROR 1300 (HY000) at line 1: Invalid utf8 character string: 'M\xE9d\xE9a'
ERROR 1300 (HY000) at line 1: Invalid utf8 character string: 'M\xE9d\xE9a'
ERROR 1300 (HY000) at line 1: Invalid utf8 character string: 'M\xE9d\xE9a'
ERROR 1300 (HY000) at line 1: Invalid utf8 character string: 'M\xE9d\xE9a'
ERROR 1300 (HY000) at line 1: Invalid utf8 character string: 'M\xE9d\xE9a'
ERROR 1300 (HY000) at line 1: Invalid utf8 character string: 'M\xE9d\xE9a'
ERROR 1300 (HY000) at line 1: Invalid utf8 character string: 'M\xE9d\xE9a'
ERROR 1300 (HY000) at line 1: Invalid utf8 character string: 'M\xE9d\xE9a'
Partager