Changements de caractères lors d'une exportation

Mammouth du PHP | 19672 Messages

16 sept. 2005, 16:13

Normalement c'est dans le php.ini que ça se passe...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 6 Messages

19 sept. 2005, 08:35

J'ai essayé d'activer l'extension php_iconv.dll mais j'obtiens une erreur au démarrage d'Apache :
Unknown() : Unable to load dynamic library 'c:\php4\extensions\php_iconv.dll' - Le module spécifié est introuvable.
J'ai pourtant activé cette librairie dans le php.ini et copié la dll php_iconv.dll depuis le répertoire "extensions" vers le répertoire windows/system32 (et même dans windows/system et windows/ au cas où).

Pourquoi donc n'arrive-t-il pas à charger la librairie (aurais-je oublié une étape ?) ???

Mammouth du PHP | 19672 Messages

19 sept. 2005, 08:57

As-tu relancé le serveur Apache pour les modifications soient prises en compte ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 6 Messages

19 sept. 2005, 09:39

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

Mammouth du PHP | 19672 Messages

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)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 6 Messages

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.

Mammouth du PHP | 19672 Messages

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é ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 6 Messages

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

Mammouth du PHP | 19672 Messages

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...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 6 Messages

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... :?

Petit nouveau ! | 6 Messages

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é...

red
Invité n'ayant pas de compte PHPfrance

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 !

:)

Petit nouveau ! | 2 Messages

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

Mammouth du PHP | 19672 Messages

22 oct. 2005, 20:31

Regarde bien les messages de ce post, la solution y est expliquée.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 2 Messages

22 oct. 2005, 21:01

jai pa trouvé :?