Changements de caractères lors d'une exportation

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Changements de caractères lors d'une exportation

Importation avec accents dans base MySQL et sans coupures !

par Un passant » 14 févr. 2006, 15:09

Bonjour,

J'ai trouvé une solution qui fonctionne :

- Dans la base de donnée il faut mettre "latin1_general_ci" ou "latin1_sweedish_ci" (pour les raisons déjà invoquées).
-Mais l'ASTUCE c'est qu'il faut le faire :
- Au niveau base de donnée (Le plus important)
- Au niveau table
- Au niveau champ

Concernant les fichiers venant d'Excel Windows au format .csv, il faut préciser : "cp1250" comme jeu de caractères.

Si sela peut être utile à quelqu'un, c'est un plaisir d'apporter sa modeste contribution à un forum qui m'est très utile.
(Et si quelqu'un pouvait mettre "Résolu", mon ID membre a disparu !)

par Cyrano » 22 oct. 2005, 21:25

Il faut activer une option pour permettre le choix de l'encodage lors de l'exportation de phpMyAdmin : dans le bas du formulaire, ça ajoute une liste déroulante offrant différents encodages possible. Sans ça, c'est codé en utf-8 par défaut.

par SINIK » 22 oct. 2005, 21:01

jai pa trouvé :?

par Cyrano » 22 oct. 2005, 20:31

Regarde bien les messages de ce post, la solution y est expliquée.

par SINIK » 22 oct. 2005, 20:22

Bonjour, moi jai le meme probleme pour mon forum, jai fais un transfert de base de donnée et jai des é jai lu demandé a quelqun il ma dit de cherché jeu de caractere dans mon phpmyadmin mais ya pas :? pouvez vous m'éclairez :P

charset

par red » 26 sept. 2005, 09:02

Pour ceux que çà intéresse:

// Allow charset recoding of MySQL queries, must be also enabled in language
// file to make harder using other language files than unicode.
// Default value is FALSE to avoid problems on servers without the iconv
// extension and where dl() is not supported
$cfg['AllowAnywhereRecoding'] = TRUE;

Mon probleme est corrigé (le meme que vous)
c'est bien du ISO-8859-1 qu'il nous faut.
font chié ces suédois !

:)

par niconaldo » 19 sept. 2005, 16:45

CA Y EST J'AI TROUVE !!! :D

En fait la dll à copier dans windows/system32 est iconv.dll (j'avais copié php_iconv.dll), dll présente dans le dossier php4/dlls.

Une fois la copie faite, Apache se lance sans erreur, je peux mettre $cfg['AllowAnywhereRecoding'] à TRUE dans le config.inc.php, je peux choisir le jeu de caractères à l'exportation (iso-8859-1 à la place de utf-8 ) et je n'ai plus de caractères bizarres !!!

Merci encore pour tes conseils qui m'ont bien aidé...

par niconaldo » 19 sept. 2005, 13:06

C'est frustrant, car si j'arrive à activer cette librairie mon problème est résolu ! J'ai trouvé sur d'autres forums la même info que tu m'as donnée à propos de AllowAnywhereRecoding, et à chaque fois ça marche ! Je ne trouve pas de cas similaire au mien et ça m'étonne... :?

par Cyrano » 19 sept. 2005, 12:38

C'est ça qui n'est effectivement pas normal :-k
Comme je suis sous PHP5, je ne peux même pas comparer avec ma propre installation...

par niconaldo » 19 sept. 2005, 12:02

Ma version de PHP est la 4.3.10.

Je suis ok avec toi pour l'interprétation du message, mais le message d'erreur dans phpMyAdmin si j'active l'option $cfg['AllowAnywhereRecoding'] tend à dire le contraire... Pour le rappel, le voici :
Erreur lors du chargement de l'extension iconv ou recode, utilisée pour convertir le jeu de caractères; veuillez activer l'une de ces extensions dans PHP, ou désactiver la conversion des jeux de caractères dans phpMyAdmin

par Cyrano » 19 sept. 2005, 11:44

La dernière citation sur le manuel tendrait à vouloir dire qu'on a pas besoin d'activer cette extension qui est intégrée de toutes façon par défaut dans PHP4.

Quelle version de PHP4 as-tu installé ?

par niconaldo » 19 sept. 2005, 11:32

Le fichier php_iconv.dll est bien dans le bon répertoire.

J'ai une ligne dans le php.ini qui spécifie :
extension_dir="c:/php4/extensions/"
(sans le ";" au début)

Et j'ai aussi une autre ligne que j'ai décommentée pour essayer d'activer l'extension :
extension=php_iconv.dll
Mais j'ai toujours la même erreur :
Unknown() : Unable to load dynamic library 'c:\php4\extensions\php_iconv.dll' - Le module spécifié est introuvable.
Le pire c'est que j'ai testé avec une autre extension, non activée par défaut, et pour celle-ci pas d'erreur !

J'ai même téléchargé la dll php_inconv-1.3.dll que j'ai mis dans le répertoire "extensions", cette dll était apparemment nécessaire pour d'anciennes versions de PHP.

Au fait, j'ai trouvé ça dans le manuel PHP mais je crois que j'ai bien fait ce qui y est indiqué :
Note aux utilisateurs Win32 : Afin d'activer ce module dans l'environnement Windows®, vous devez copier la bibliothèque iconv.dll ou iconv-1.3.dll (pour les versions antérieures à 4.2.1) qui est fournie avec le package PHP/Win32 dans un dossier spécifié par la variable d'environnement PATH ou dans un des dossiers systèmes de votre installation de Windows®.

Ce module fait parti de PHP depuis PHP 4, donc les bibliothèques iconv.dll et php_iconv.dll ne sont plus nécessaires.

par Cyrano » 19 sept. 2005, 09:53

Bien, alors il faut vérifier : as-tu bien un lépertoire avec le fichier correspondant à l'adresse 'c:\php4\extensions\php_iconv.dll' ?

Si oui, vérifie dans ton php.ini que tu as une ligne correspondant à : extension_dir = "c:\php4\extensions" (sans ";" en début de ligne)

par niconaldo » 19 sept. 2005, 09:39

Oui j'ai bien redémarré Apache, l'erreur apparaît d'ailleurs au démarrage.

par Cyrano » 19 sept. 2005, 08:57

As-tu relancé le serveur Apache pour les modifications soient prises en compte ?