Vai al contenuto
fil17

Query phpmyadmin per modifica contenuto post

Recommended Posts

fil17

Ciao a tutti!

 

Volevo sapere se qualcuno era in grado di aiutarmi nella creazione di una query per phpmyadmin in modo da risolvere il problema con gli accenti sbagliati.

 

In pratica attraverso una query di tipo update volevo cercare all'interno di ogni singolo post il carattere accentato sbagliato, e sostituirlo con la lettera seguita dall'apostrofo.

 

Ad esempio trasformare una è importata in modo sbagliato in una: e' in modo da evitare problemi in futuro (e rendere il forum più leggibile :D )

 

Il problema non è tanto individuare la tabella.. ma capire come far analizzare il contenuto scritto dentro al campo specifico.

 

Ad esempio la tabella che si occupa dei post si chiama:

ipb_posts (dove al posto di ipb ci sarà il vostro prefisso)

 

Ora sappiamo che i contenuti sono salvati nel campo:

post

 

Ora come si fa a dire di cercare dentro al quel campo la lettera sbagliata e sostituirla con quella giusta?

 

Grazie

Ciao :)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
gianpiero

ho fatto una volta sola una sostituzione di massa di un carattere

 

ho chiuso il forum, ho fatto il dump del database, ho lavorato un locale con "cerca" e "sostituisci tutto", ho ricaricato il db

 

notepad ++ permette di lavorare su file di grosse dimensioni

 

in alternativa, ma è a pagamento : Multiedit

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
fil17

Ciao!

 

Grazie delle risposte.. Probabilmente farò la modifica con notepad.. però ho sempre il terrore che quando vado ad importare il file corretto non si cambino ancora gli accenti.

 

Come mai con l'apostrofo è pericoloso? Oppure sapete come vengono codificate le lettere accentate da mysql? Così in questo caso al posto di utilizzare l'apostrofo vado direttamente a sostituire con la codifica corretta.

 

Grazie

Ciao :)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
najaru

se hai qualche microsoldino da parte, io ti consiglierei di chiedere una mano a Tarabyte, in modo da non correre rischi di fare grossi pasticci

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
fil17

Ciao!

 

 

Se non riesco mi rivolgerò sicuramente a lui perchè il forum è illeggibile altrimenti. Per adesso con un amico abbiamo individuato la soluzione.. dobbiamo solo capire se va bene anche per il futuro.

 

In pratica abbiamo sostituito tutti gli accenti con l'entità html ed è andato tutto bene.

 

Ora dobbiamo solo capire se esportando il database in futuro e reimportandolo viene salvato tutto correttamente.

 

Una sola cosa. Qualcuno di voi mi può dire come nel suo database vengono salvati nel gli accenti?

Hanno codifiche "strane" oppure sono scritte nella forma: à  

 

Grazie

Ciao :)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
gianpiero

hai ragione a chiedere

 

io ho il forum in

 

<meta charset="iso-8859-1" /> 

Nel backup c'è la specifica:

 

ENGINE=MyISAM AUTO_INCREMENT=284 DEFAULT CHARSET=latin1; 

 

La codifica caratteri specificata nelle tabelle è

 

latin1_swedish_ci

 

Il forum nella sezione setting è impostato di conseguenza

 

Document character set iso-8859-1 

 

NOTA: una cosa che non ho mai capito è il motivo per cui IPB raccomanda UTF-8 e continuano ad utilizzare sul loro forum <meta charset="iso-8859-1" />

 

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
fil17

Ciao!

 

Ook allora faccio altre prove.. perchè tutte le lettere accentate che abbiamo cambiato funzionano.. tranne la: à che rimane sempre affiancata ad un punto di domanda..

 

 

Grazie

Ciao!

Modificato da fil17

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
gianpiero

Io ho il forum dal 2002, pertanto continuo a portarmi dietro iso-8859-1

Ho studiato tempo fa la conversione ma poi ho rinunciato è un argomento ostico per me e complesso non so dove parare

Forse prima o poi me lo farò fare da qualcuno

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
fil17

Non riesco a capire come mai tutte le lettere accentate funzionino tranne la à.

 

Adesso ho sostituito la à con a'

 

L'apostrofo l'ho riscritto sempre con l'entità html e funziona correttamente.. Se riesco a sistemare correttamente anche l'ultimo carattere vi farò sapere.

 

Potrebbe essere una soluzione provvisoria per chi ha questi problemi con le lettere accentate.

 

Ciaoo :)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
fil17

EDIT: no anche l'apostrofo è seguito da un punto di domanda!!!

 

Vediamo se riusciamo a sistemare altrimenti andremo da un professionista :D

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
pingoso

In oracle c'é la funzione Convert che dovrebbe fare proprio ciò che dici.

 

Non ho idea se esista anche per MySQL, ma con un pochino di Google dovresti aver veloce risposta ;)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
fil17

Ciao!

 

Purtroppo dopo molte prove non sono riuscito a risolvere al 100% il problema.. vedrò di rivolgermi a qualcuno.. Sapete dove posso trovare Tarabyte? Ho fatto un ricerca negli utenti ma non l'ho mica trovato!

 

Grazie

Ciaoo :)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Barrnet

Usare l'apostrofo non è rischioso, basta fare l'escape...

In ogni caso è una operazione inutile scaricare il database per modificarlo in locale, basta fare una query di sostituzione con il carattere corrotto :P

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
gianpiero

Usare l'apostrofo non è rischioso, basta fare l'escape...

In ogni caso è una operazione inutile scaricare il database per modificarlo in locale, basta fare una query di sostituzione con il carattere corrotto :P

 

questa è la domanda, non la risposta

 

sarebbe dire: come si cambia una gomma di scorta ?

Basta cambiarla

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Barrnet

In che senso? ho dato il procedimento, fare una query di sostituzione. Credo che chiunque gestisca un forum abbia, quantomeno, una infarinatura di MySQL (sarebbe come guidare una macchina e non sapere come si fa benzina!). La query è, logicamente sostituendo i campi con la tabella dei post e con la colonna del contenuto, la seguente:

UPDATE tabella SET colonna = REPLACE(colonna,'é','é');UPDATE tabella SET colonna = REPLACE(colonna,'è','è');UPDATE tabella SET colonna = REPLACE(colonna,'ì','ì');UPDATE tabella SET colonna = REPLACE(colonna,'ò','ò');UPDATE tabella SET colonna = REPLACE(colonna,'ù','ù');UPDATE tabella SET colonna = REPLACE(colonna,'Ã','à');

In ogni caso bastava cercare con google "query di sostituzione" :\

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
najaru

Credo che chiunque gestisca un forum abbia, quantomeno, una infarinatura

di MySQL (sarebbe come guidare una macchina e non sapere come si fa

benzina!).

 

mi spiace ma direi proprio di no.

penso che su 100 utenti che abbiamo qui, 90 non hanno mai modificato manualmente una tabella

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
gianpiero
In ogni caso bastava cercare con google "query di sostituzione" :\

 

basta seguire Google quindi

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Crea un account o accedi per lasciare un commento

You need to be a member in order to leave a comment

Crea un account

Iscriviti per un nuovo account nella nostra comunità. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora

×