Probleme de texte tronqué / Accent

Résolu/Fermé
Clembusiness Messages postés 5 Date d'inscription mardi 26 janvier 2010 Statut Membre Dernière intervention 27 janvier 2010 - 26 janv. 2010 à 17:10
Clembusiness Messages postés 5 Date d'inscription mardi 26 janvier 2010 Statut Membre Dernière intervention 27 janvier 2010 - 27 janv. 2010 à 11:40
Bonjour,

Je vous expose mon problème :
Je travail sur un site Joomla et j'ai du réimporter la base de donnée précédemment sauvegardée hors depuis tout les accents sont remplacés par Ä@. Ma base de donnée était en UTF8 unicode, comme les paramètres du site. J'ai bien précisé dans l'en-tête de mon template PHP que la page devait être lue en UTF8.

J'ai retéléchargé ma base de donnée, les caractères spéciaux étaient 'changés', j'ai donc fait un rechercher/remplacer sous Notepad++ (ce qui m'a permit d'avoir une vrai présentation du code contrairement au bloc note). J'ai donc ensuite voulu réimporté ma base directement avec le fichier .sql.

Or, sur PHP MyAdmin on ne peut upload de fichier surpérieur à 2mo. (et copier / coller ne marche pas, mais je m'y attendais)

J'ai donc découpé ma base en plusieurs parties, j'ai donc pu upload fragments par fragments ma base de données. Résultat : Je n'ai plus l'affichage exotique de mes caractères spéciaux, mais à la place, le texte/titre/paragraph se retrouve tronqué au niveau de l'accent qui devait être présent..... (J'ai vraiment jamais vu ça, j'ai cherché deux heures sur des forums et j'ai rien de trouvé de semblables....)

Donc ça vient bien de l'encodage de mon script, je l'ai changé sur NotePad++ après avoir découvert qu'il n'était pas encodé en UTF-8, j'ai changé le codage et réenregistrer sous un nouveau document .sql mais cette fois si bien encodé en UTF-8. Je vais pour importer la base sous PHPMyAdmin et cette fois si, il a le culot de me dire que ma requete n'était pas valide
"requête SQL:
DROP TABLE IF EXISTS `jos_RSFORM_MAPPINGS`
MySQL a répondu:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DROP TABLE IF EXISTS `jos_RSFORM_MAPPINGS`' at line 1 "

Pourtant, ma requète n'a pas été reformulée et elle était bien passée quand elle n'étais pas codé en UTF-8.

Si vous avez une solution, ou rien qu'une piste ça m'aiderait beaucoup parce que la je suis à cours d'idées....

Merci d'avance

5 réponses

avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 4 505
26 janv. 2010 à 17:29
Supprimes ta table "jos_RSFORM_MAPPINGS" et supprimes la ligne "DROP TABLE IF EXISTS `jos_RSFORM_MAPPINGS`" dans le SQL.
0
Bonjour

Quand tu as ré-encodé ton fichier en UTF-8, l'as-tu bien encodé en utf-8 SANS BOM ? Sinon, il a inséré des caractères invisibles au début
0
Clembusiness Messages postés 5 Date d'inscription mardi 26 janvier 2010 Statut Membre Dernière intervention 27 janvier 2010
27 janv. 2010 à 09:47
Bonjour alors tout d'abord merci pour ces réponses.

@avion : J'ai testé, je n'ai plus le message d'erreur mais toujours pas la réapparition de mon contenu

@le père : J'ai retesté dans le doute mais ça ne change rien.

Est - ce que cela pourrait venir de mon hébergeur ?
0
Clembusiness Messages postés 5 Date d'inscription mardi 26 janvier 2010 Statut Membre Dernière intervention 27 janvier 2010
27 janv. 2010 à 10:43
J'ai regardé dans le fichier .htaccess, j'ai ajouté AddDefaultCharset UTF-8 et comme prévu ça marche pas comme j'ai déjà une balise méta dans ma page PHP qui indique le codage ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Clembusiness Messages postés 5 Date d'inscription mardi 26 janvier 2010 Statut Membre Dernière intervention 27 janvier 2010
27 janv. 2010 à 11:40
Problème résolu.

J'ai fait un script PHP qui passe outre la taille maximale de l'archive que je peux envoyer chez mon hebergeur et tout est nikel.

Merci quand même

VOici le script si ça peut aider certains :

<?php
// Indiquez vos données d'accès
$host= 'dbxx.1and1.fr';
$user= 'dboxxxxxx';
$pass= 'xxxxxxxx';
$db= 'dbxxxxxxx';

// Restauration du fichier Gzip
system(sprintf(
'gunzip -c %s/dumpDB.sql.gz | mysql -h %s -u %s -p%s %s',
getenv('DOCUMENT_ROOT'),
$host,
$user,
$pass,
$db
));
echo '+DONE';
?>
0