Précédent   Forum des professionnels en informatique > PHP > Outils > phpMyAdmin
phpMyAdmin Forum d'entraide sur l'outil phpMyAdmin : installation, utilisation, etc. Avant de poster -> Cours phpMyAdmin
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/12/2008, 08h44   #21
Membre à l'essai
 
Inscription : septembre 2008
Messages : 102
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 102
Points : 24
Points : 24
Citation:
Envoyé par SuperCed Voir le message
Il s'agit peut être de changer latin 1 par le nom de l'encodage utilisé pour afficher des caractères arabes.

Il faut aussi faire attention, je pense que les caractères arabes peuvent être sur 4 octets. Il faut donc bien faire des tests multioctets quand on teste la longueur des châines.
j'ai mis set names 'utf-8' mais toujours le même problème.

comment faire ce que tu as dis 'Il faut donc bien faire des tests multioctets quand on teste la longueur des chaînes'
Amel_B est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2008, 08h47   #22
Membre à l'essai
 
Inscription : septembre 2008
Messages : 102
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 102
Points : 24
Points : 24
jai essayé ds un autre pc la ou installé mysql3 ça marche mais sur mon pc ou est installé mysql5 ça marche pas
Amel_B est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2008, 09h04   #23
Membre actif
 
Inscription : juillet 2004
Messages : 277
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 277
Points : 166
Points : 166
Citation:
Envoyé par Amel_B Voir le message
j'ai mis set names 'utf-8' mais tjrs le meme prob.

comment faire ce ke tu as dis 'Il faut donc bien faire des tests multioctets quand on teste la longueur des châines'
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
__________________
Хајде Јано коло да играмо
SuperCed est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2008, 09h27   #24
Membre à l'essai
 
Inscription : septembre 2008
Messages : 102
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 102
Points : 24
Points : 24
Citation:
Envoyé par SuperCed Voir le message
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
la longueur je l'ai mis 255 pour éviter ça
pour cp1256 je le met dans php myadmin, et dans le fichier php alors qu'est ce que j'écris au lieu de charset=utf-8 ?
Amel_B est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2008, 09h35   #25
Membre habitué
 
Avatar de rinuom99
 
Étudiant
Inscription : août 2007
Messages : 238
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2007
Messages : 238
Points : 125
Points : 125
Envoyer un message via MSN à rinuom99
dans le fichier php essayé avec windows-1256 au lieu de utf-8 et dans php myadmin cp1256_general_ci
rinuom99 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2008, 09h58   #26
Membre à l'essai
 
Inscription : septembre 2008
Messages : 102
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 102
Points : 24
Points : 24
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
Amel_B est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2009, 13h37   #27
Membre confirmé
 
Avatar de Korri
 
Homme Hugo Vacher
Étudiant
Inscription : mai 2008
Messages : 158
Détails du profil
Informations personnelles :
Nom : Homme Hugo Vacher
Âge : 23
Localisation : Canada

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2008
Messages : 158
Points : 224
Points : 224
Citation:
Envoyé par SuperCed Voir le message
Ok, c'est bon, j'ai la solution.

J'ai ajouté 2 lignes dans les fichiers dbi contenus dans le répertoire librairies/dbi/

Voici les lignes pour chaque fichier :
dans mysql.dbi.lib.php
Code :
1
2
3
 
mysql_query("SET SESSION CHARACTER_SET_RESULTS =latin1;",$link);
    mysql_query("SET SESSION CHARACTER_SET_CLIENT =latin1;",$link);
[...] (écourté pour pas poluer) [...]
Merci beaucoup, j'ai ajouté ces ligne et YOUPII ça MARCHE !!

Merci pour cette astuce depuis le temps que je me disait que phpMyAdmin fesait ***** a pas vouloir faire du vrai utf-8 !

Encore merci !
Korri est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h00.


 
 
 
 
Partenaires

Hébergement Web