Gros problème avec base MYSQL !!!!! :(

Gros problème avec base MYSQL !!!!! :( - Programmation

Marsh Posté le 28-11-2001 à 17:55:54    

Salut,
 
aujourd'hui, comme un con, g effacé une table dans ma base ; cette table comprenait 162 articles et pesaient 1.7 Mo ! :(
 
Heureusement, j'avais fait une sauvegarde ; je tente donc de l'installer, mais, meme avec PhpMyAdmin, g des erreurs a cause des accents ; comme par exemple :
 
 

Citation :


### Données dans la table 'nuke_seccont' (162 enregistrements, 6 champs)
INSERT INTO nuke_seccont VALUES ('2', '2', 'Jason Behr', '<p align="left"><b>Biographie :</b></p>
  <p align="left">La mâchoire serrée, le regard souvent fuyant, Max a l?air d?un  
    garçon réservé, mal dans sa peau. Et il y a de quoi ! Tout autour de lui,  
    on parle d?extraterrestres, de la manière de les capturer, de les étudier  
    etc.<br>
    Or Max ne vient pas du même système solaire que les terriens. Sorti d?une  
    période d?incubation, Max a été adopté avec Isabel par les Evans, et vivait  
    dans la plus grande discrétion sa double identité, jusqu?à ce qu?il ne ressuscite  
    Liz, s?attirant les foudres du shérif de Roswell? <br>
    <br>
    Max Evans (JASON BEHR) Jason Behr est né le 30 décembre 1973 à Minneapolis  
    dans le Minnesota. Dès cinq ans, il se passionne pour la scène. Il poursuit  
    ses études jusqu au Bac puis décide de partir pour Los Angeles afin de lancer  
    sa carrière.<br>
    Pari gagné pour ce jeune acteur qui obtient très rapidement des rôles régulier  
    pour les chaînes CBS, NBC et ABC. Il apparaît notamment dans des séries comme  
    JAG, Profiler, Buffy contre les vampires et Dawson ainsi que dans des dizaines  
    de spots de publicité.<br>
    <br>
    Côté cinéma, Jason n est déjà plus un débutant puisqu'il à interprété le rôle  
    de Mark Lackey dans Pleasantville en 1998, puis celui de Cambell Farley dans  
    Rites of Passage en 1999. Passionné de sport, il habite à Los Angeles.</p>
  <p align="left"> </p>
  <p align="left"><b>Filmographie :</b></p>
   
<p align="left">- Roswell (1999)<br>
  - Rites Of Passage (1999) <br>
  - Pleasantville (1998) <br>
  - Dawson's Creek (1998) <br>
  - Push (1998) <br>
  - Cracker (1997) <br>
  - Buffy the Vampire Slayer (1997) <br>
  - Alien Nation: Millennium (1996) <br>
  - 7th Heaven (1996) <br>
  - Profiler (1996) <br>
  - Pacific Blue (1996) <br>
  - JAG (1995) <br>
  - Sherman Oaks (1995) <br>
  - Step By Step (1991)</p>
<p align="left"> </p>
<p align="left"><b>Lui écrire :</b></p>
<p align="left">Jason Behr<br>
  c/o Roswell <br>
  Paramount Pictures Corporation<br>
  5555 Melrose Avenue<br>
  Los Angeles, CA 90038 </p>', '151', 'french';);


 
Et donc, ca me fais des erreurs a cause des accents du style : Juk'a ; et c foire ; du coup je peux rien restaurer !!! :(
 
Est ce ke vous pouvez m'aider car ca fais depuis plus de 4 mois ke je bosse sur le site, et a cause d'une manip a la con, tout mon boulot par en fumée !!!!! :(
 
Je vous remercie ;) :jap:


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 28-11-2001 à 17:55:54   

Reply

Marsh Posté le 28-11-2001 à 18:17:06    

Reply

Marsh Posté le 28-11-2001 à 18:17:54    

utilise htmlentities() en php pour lire et convertir ton fichier (fais un backup d'abord :D).
 
je crois que ça convertit aussi les quotes et balises ... donc un coup d'htmlentities() pour convertir les accents en &...;, puis un coup bourrin de str_replace des accents remplacés par des entités pour les reremplacer par des accents.
 
hmmm ... suis-je clair ?

Reply

Marsh Posté le 28-11-2001 à 18:21:49    

ok, oublie ce que je viens de te dire : remplace tout à la pogne à coups de str_replace. ta base contient des accents ET des entités (!!!) donc la méthode ci-dessus va planter.
 
pour référence : http://www.w3.org/TR/REC-html40/sgml/entities.html

Reply

Marsh Posté le 28-11-2001 à 18:23:59    

Je suis un gros newbie en PHP, donc c pas trop clair ;)
 
Le code a mettre, il fo le mettre avant mon texte ?
 
Encore merci ;)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 28-11-2001 à 18:31:24    

tu lis ton fichier .sql (ou je sais pas quoi) dans une varible, et tu remplaces les accents à la main :
 
$data = str_replace("é", "&#eacute", $data);
$data = str_replace("è", "&#egrave", $data);
 
tu fais ça autant de fois que tu as d'accents différents dans ton fichier, ou plus simples, tu prends tous les accents du lien plus haut.
 
une fois que tu as fini ça, tu écris ton fichier, tu pourras alors l'insérer sans problèmes (normalement :D) dans ta db.

Reply

Marsh Posté le 28-11-2001 à 18:32:24    

youdontcare a écrit a écrit :

tu lis ton fichier .sql (ou je sais pas quoi) dans une varible, et tu remplaces les accents à la main :  




 
Hein ? Fo ke je remplace TOUS les accents a la main ?
Sous Word, le fichier fait 788 pages !!!! :(


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 28-11-2001 à 18:35:03    

Bah utilise Ultra edit en deux secondes tu auras converti tout ton fichier .sql ensuite du dump ta table et tu utilise apres la methode de youdontcare pour reconvertir dans le sens inverse.

Reply

Marsh Posté le 28-11-2001 à 18:35:58    

la transformation ça revient à quoi ? ouvrir le fichier, remplacer les accents par leurs entités correspondantes, sauvegarder le fichier.
 
tu peux faire les trois étapes en php. ça ne devrait même pas te prendre plus de vingt minutes.

Reply

Marsh Posté le 28-11-2001 à 18:36:26    

Arf, je comprends pas bien ...
En fait, j'utlilise ULTRA Edit, et il me converti tous mes accents, c bien ca ?
 
Apres, je fais juste un copier-coller pour inserer la base, c ca ? ;)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 28-11-2001 à 18:36:26   

Reply

Marsh Posté le 28-11-2001 à 18:37:04    

youdontcare a écrit a écrit :

la transformation ça revient à quoi ? ouvrir le fichier, remplacer les accents par leurs entités correspondantes, sauvegarder le fichier.
 
tu peux faire les trois étapes en php. ça ne devrait même pas te prendre plus de vingt minutes.  




 
Mais a chaque fois k'il y a un accent, je dois changer le texte ?


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 28-11-2001 à 18:38:12    

c'est vrai que tu peux faire ça avec ultra edit ... moi j'aurais fait ça en php, à savoir fopen(), fread(), plein de str_replace(), fwrite(), fclose(), etc ... histoire que si le problème se représente il soit réglé en 30 secondes.
 
mais tu peux aussi le faire avec ultra edit, vi.

Reply

Marsh Posté le 28-11-2001 à 18:51:15    

Je viens de telecharger ULTRA EDIT, mais je trouve pas l'option pour supprimer les accents ...
 
C ou ?
 
Merci de votre patience ;) :jap:


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 28-11-2001 à 18:56:19    

bon, fais ça sous word : ctrl+h (ou édition > remplacer)

Reply

Marsh Posté le 28-11-2001 à 18:56:48    

ce sont tes accents qui font planté l'insertion dans la bd ???
c'est pas plutot les quotes (' ' " ) ?
un petit coup de addslashes($texte) et c'est réglé...
 
j'ai pas du comprendre le problème moi :(

Reply

Marsh Posté le 28-11-2001 à 18:58:52    

pour sauver ma base :  
dump_base(), script trouvé sur phpinfo je pense, car j'avais aussi des erreurs avec phpmyadmin
 
il me semble que dump_base() ajoute des \ devant les caractères spéciaux...
'fin moi je sauve les textes dans ma base après avoir fait un htmlentities, et un nl2br :D
 
ca c'est pour toi, pour le futur..
maintenant a part un truc a faire a la main, je ne vois pas comment t'aider :(

Reply

Marsh Posté le 28-11-2001 à 19:01:06    

ethernal a écrit a écrit :

ce sont tes accents qui font planté l'insertion dans la bd ???
c'est pas plutot les quotes (' ' " ) ?
un petit coup de addslashes($texte) et c'est réglé...
 
j'ai pas du comprendre le problème moi :(  




 
Si si c ca !!!!!!!!!!! ;)
 
Je comprends po ta technique, ou est ce ke je dois mettre ce code ?
 
Encore merci ;)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 28-11-2001 à 19:08:59    

bon j'ai rien compris moi alors :D

Reply

Marsh Posté le 28-11-2001 à 19:10:53    

Arf, ben c moi qui me suis mal exprimé ! ;)
 
En fait, ce ki fait tout foiré, c le les " et ' comme L'HEURE ; il va prendre ca pour une requete ou je sais pas kio alors ke c du texte tout bete ! ;)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 28-11-2001 à 19:14:08    

bha la solution facile : tu mets "magic_quotes_gpc = On" dans php.ini (mais normalement c'est par défaut) et dans ce cas phpadmin ajoute les \ devant chaque ' et " automatiquement lors de l'envoi des infos.
 
la solution plus hard :
tu lis chaque ligne de ton fichier,  
tu réécris la ligne lue dans un nouveau fichier avec addslashes($ligne)
 
un truc du genre :
$fileorig = "/usr/local/something.txt";
$filedest = "/usr/local/something_mod.txt";
 
//lecture du fichier
$fd = fopen ($fileorig, "r" );
$contents = fread ($fd, filesize ($fileorig));
fclose ($fd);
 
//ajout des \
$contents= addslashes($contents);
 
//écriture du fichier modifié
$fw = fopen ($filedest, "a+" );  
fwrite ($fw, $content);  
fclose ($fw);
 
-- édité pour la clarté ;) --

 

[edtdd]--Message édité par ethernal--[/edtdd]

Reply

Marsh Posté le 28-11-2001 à 19:27:02    

POur les Magic Quotes, c t deja en On ; et sinon, je pense pas ke je pourrais relire toutes les lignes car y a kand meme 788 pages ! :(
 
Mais y a pas un petit logiciel qui fait ca ?
Sinon, sous word, Youdontcare disait de faire un CTRL + H mais je met en koi en remplacement des ' ? Un /" ?
 
Encore merci ;)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 28-11-2001 à 19:47:31    

S'il vous plait !!!!!!!!!!!!!! ;)
 
Si vous arrivez a me sortir de ce pétrin, je vous offre un hébergement gratos sur mon serveur perso chez moi (HTML + PHP + Autres) !!!!!!!
 
S'il vous plait !!!  :cry:  :cry:


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 28-11-2001 à 19:54:01    

Max Evans a écrit a écrit :

POur les Magic Quotes, c t deja en On ; et sinon, je pense pas ke je pourrais relire toutes les lignes car y a kand meme 788 pages ! :(
 
Mais y a pas un petit logiciel qui fait ca ?
Sinon, sous word, Youdontcare disait de faire un CTRL + H mais je met en koi en remplacement des ' ? Un /" ?
 
Encore merci ;)  




tu fais rechercher / remplacer tout:
" -> \"
et ' -> \'
 
cooool un hebergement :D

Reply

Marsh Posté le 28-11-2001 à 19:55:53    

Malheureusement, g essayé, et ca marche pas !!!! :(
 
tu vas devoir rester sur Multimania ;)  :sol:


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 28-11-2001 à 19:57:10    

Max Evans a écrit a écrit :

Malheureusement, g essayé, et ca marche pas !!!! :(
 
tu vas devoir rester sur Multimania ;)  :sol:  




 [:sisicaivrai]  
et comment ca , ca ne marche pas? :sol:

Reply

Marsh Posté le 28-11-2001 à 19:58:34    

Nan sérieux, ca marche pas ! :(
 
Je dis pas ca pour pas hébergé ton site, car si tu trouves le truc qui fera marcher ma table, je te JURE ke j'heberge ton site ! ;)
 
PS : Si tu veux, je peux t'envoyer le fichier, et tu corriges , et si ca marche ; ton site est hebergé sur mon serveur ;) ;)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 28-11-2001 à 19:59:01    

Max Evans a écrit a écrit :

Nan sérieux, ca marche pas ! :(
 
Je dis pas ca pour pas hébergé ton site, car si tu trouves le truc qui fera marcher ma table, je te JURE ke j'heberge ton site ! ;)
 
PS : Si tu veux, je peux t'envoyer le fichier, et tu corriges , et si ca marche ; ton site est hebergé sur mon serveur ;) ;)  




vas-y envoie :sol:

Reply

Marsh Posté le 28-11-2001 à 20:01:36    

C koi ton mail ?


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 28-11-2001 à 20:02:14    

Max Evans a écrit a écrit :

C koi ton mail ?  




 
envoie ca la, par exemple :p
imhotep03@freesurf.fr

Reply

Marsh Posté le 28-11-2001 à 20:03:09    

Ok, j'envoye ;)
 
PS : Le fichier fais 450 Ko compressé ;)
 
Encore merci ;)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 28-11-2001 à 20:08:36    

"
### Données dans la table 'nuke_seccont' (162 enregistrements, 6 champs)
INSERT INTO nuke_seccont VALUES ('2', '2', 'Jason Behr', '<p align="left"><b>Biographie :</b></p>
 <p align="left">La mâchoire serrée, le regard souvent fuyant, Max a l?air d?un  
   garçon réservé, mal dans sa peau. Et il y a de quoi ! Tout autour de lui,  
   on parle d?extraterrestres, de la manière de les capturer, de les étudier  
   etc.<br>
"
chais pas s'il y a moyen, tout compte fait, car il ne faut remplacer les ' et " QUE dans le texte... paske un str_replace -> il va changer  ... VALUES(\'2\', etc etc
 
-> ca va merder
enfin vais regarder ca après manger ;)

Reply

Marsh Posté le 28-11-2001 à 20:24:18    

OK, merci ;)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 28-11-2001 à 20:36:55    

Max Evans a écrit a écrit :

OK, merci ;)  




je crois que ca va aller :sol:
 
c'est quoi le code pour creer ta yable nuke_seccont?
 
bon vais trouver tout seul, c pour tester

 

[edtdd]--Message édité par sisicaivrai--[/edtdd]

Reply

Marsh Posté le 28-11-2001 à 20:49:12    

C ca je crois :
 

Citation :

#
# Table structure for table 'nuke_seccont'
#
 
CREATE TABLE nuke_seccont (
  artid int(11) NOT NULL auto_increment,
  secid int(11) NOT NULL default '0',
  title text NOT NULL,
  content text NOT NULL,
  counter int(11) NOT NULL default '0',
  slanguage varchar(30) NOT NULL default '',
  PRIMARY KEY  (artid)
);


;)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 28-11-2001 à 20:53:28    

Max Evans a écrit a écrit :

C ca je crois :
 

Citation :

#
# Table structure for table 'nuke_seccont'
#
 
CREATE TABLE nuke_seccont (
  artid int(11) NOT NULL auto_increment,
  secid int(11) NOT NULL default '0',
  title text NOT NULL,
  content text NOT NULL,
  counter int(11) NOT NULL default '0',
  slanguage varchar(30) NOT NULL default '',
  PRIMARY KEY  (artid)
);


;)  




bah c un peu tard, mais c rien, j'ai deviné tout seul les champs (enfin des champs compatibles)
 
c'était pour tester, mais j'ai essayé tout à la fois j'ai exp)losé la charge du serveur :D
bon, je te l'envoie, maintenant a toi de découper le fichier s'il ne veut pas tout faire à la fois ;)
(découpe pas dans les requets, hein)
 (fait chauffer le serveur :sol: )

Reply

Marsh Posté le 28-11-2001 à 20:55:54    

Arf, attends, dis moi ou est ce k'il fo ke je coupe !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 28-11-2001 à 20:58:21    

Max Evans a écrit a écrit :

Arf, attends, dis moi ou est ce k'il fo ke je coupe !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;)  




je t'envoie, avec les essplikassions :p
 
mais essaie d'abord tout le fichier a la fois, si t'es sur un serveur local y a des chances que ca marche ;)
 
là je m'en vais, mail moi pour dire si ca a marché, ou s'il faut que je le refasse
 
@+

 

[edtdd]--Message édité par sisicaivrai--[/edtdd]

Reply

Marsh Posté le 28-11-2001 à 20:59:58    

OK, no pb ! ;)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 28-11-2001 à 21:55:19    

Max Evans a écrit a écrit :

POur les Magic Quotes, c t deja en On ; et sinon, je pense pas ke je pourrais relire toutes les lignes car y a kand meme 788 pages ! :(
 
Mais y a pas un petit logiciel qui fait ca ?
Sinon, sous word, Youdontcare disait de faire un CTRL + H mais je met en koi en remplacement des ' ? Un /" ?
 
Encore merci ;)  




 
heu c'est moi qui comprends plus alors maintenant...
 
d'après ce que je constate c'est en bonne voies, mais sinon il ressemble à quoi exactement ton fichier de sauvegarde ?
pcq je t'ai donné le code pour modifier ton fichier automatiquement en php (en 6 lignes)...  
(mais il faut voir ton fichier aussi)
 
--edit--
je viens de lire plus en profondeur... c'est vrai que si ça ressemble à ce que sisicaivrai a posté, mon prog fct po :(
j'ai rien dis ;)
 :hello:

 

[edtdd]--Message édité par ethernal--[/edtdd]

Reply

Marsh Posté le 28-11-2001 à 22:40:04    

alors cai bon???

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed