Italian SMF

Supporto SMF => SMF 2.0.x => Discussione aperta da: Sebbene il Venerdì - 13 Dicembre 2013 - 02:10

Titolo: UTF-8 e problemi importazione database
Inserito da: Sebbene il Venerdì - 13 Dicembre 2013 - 02:10
Ciao ragazzi,mi è capitato di dover importare un database e ho scoperto che se su Mysql si seleziona uft-8 poi le lettere accentate non funzionano, viceversa se si seleziona Latin1 le accentate si leggono in modo corretto.
Inoltre ho notato che in fase di installazione di SMF se seleziono UTF-8 viene fuori un macello con le lettere accentate.
Ma utf-8 non dovrebbe essere la codifica migliore, futuribile e futuristica? Perchè ho l'impressione che smf non la digerisca bene? Spiegatemi voi perchè ci sto capendo ben poco.

(https://www.italiansmf.net/forum/proxy.php?request=http%3A%2F%2Fvademecum.aruba.it%2Fstart%2Fmysql%2Fguida%2Fsmf%2F1.gif&hash=d5beddbf5fab5d0d0bd9ce68d005603135dc3180)
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: Darknico il Venerdì - 13 Dicembre 2013 - 09:00
Se decidi di usare UTF-8, devi di conseguenza utilizzare un traduzione UTF-8.
SMF lo digerisce senza problemi e sono in molti ad utilizzare questo charset
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: gnamignami il Venerdì - 13 Dicembre 2013 - 09:07
Non ascriverei a SMF un problema con UTF-8.
È mysql che è molto 'sensibile' e va impostato bene quando si crea il db.
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: Darknico il Venerdì - 13 Dicembre 2013 - 09:53
Citazione di: gnamignami il Venerdì - 13 Dicembre 2013 - 09:07
Non ascriverei a SMF un problema con UTF-8.
È mysql che è molto 'sensibile' e va impostato bene quando si crea il db.

Il DB viene creato da SMF in fase di installazione, e lo crea correttamente.
Direi che il problema è la traduzione, che viene utilizzata quella errata
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: gnamignami il Venerdì - 13 Dicembre 2013 - 10:08
Credevo di aver capito che Sebbene lavorasse su una importazione di un precedente db e non su una installazione scratch.

Dovendo importare dati da un dump, credo sia bene  assicurarsi che la collation della connessione di MySQL del db originario sia anch'essa utf-8 e probabilmente il db di Sebbene era in Latin1.

In tal caso credo si debba fare prima un dump del db originale in utf-8_general_ci, correggere eventualmente anche la collation per tabelle e colonne (DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci) e dopo importare, altrimenti compariranno comunque caratteri 'strani'.
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: emanuele il Venerdì - 13 Dicembre 2013 - 12:08
Anch'io sentendo parlare di "importare" mi viene da pensare ad un trasferimento e di solito in simili casi i problemi di codifica sorgono "nel mentre" (o durante l'export o durante l'import).

Un'altra cosa: "recentemente" MySQL (o forse parecchie distro, non sono esperto, vedo solo le conseguenze) ha cambiato il charset di default da latin_swedish a utf8_general. Questo sì è fonte di problemi in caso di installazione di SMF non in utf8, perché SMF suppone che il default sia latin_swedish, quindi non si preoccupa di "forzare" il charset corretto e quando si fa a postare qualcosa che contiene caratteri fuori dall'ascii il testo viene troncato.
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: Sebbene il Venerdì - 13 Dicembre 2013 - 13:26
Citazione di: Darknico il Venerdì - 13 Dicembre 2013 - 09:00
Se decidi di usare UTF-8, devi di conseguenza utilizzare un traduzione UTF-8.
SMF lo digerisce senza problemi e sono in molti ad utilizzare questo charset

Io non sono per nuiente esperto, in pratica se SMF è basato su Latin1, come mai in molti dicono che è meglio usare il charset UTF-8? Che vantaggi si traggono?
E scusa la domanda, come si fa ad usare una una traduzione UTF-8? Cioé, c'è una traduzione in italiano basata su UTF-8? Booo ...
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: Sebbene il Venerdì - 13 Dicembre 2013 - 13:29
Citazione di: Darknico il Venerdì - 13 Dicembre 2013 - 09:53
Citazione di: gnamignami il Venerdì - 13 Dicembre 2013 - 09:07
Non ascriverei a SMF un problema con UTF-8.
È mysql che è molto 'sensibile' e va impostato bene quando si crea il db.

Il DB viene creato da SMF in fase di installazione, e lo crea correttamente.
Direi che il problema è la traduzione, che viene utilizzata quella errata

E crea il database con charset Latin1 ... non potrebbe crearlo direttamente in UTF-8?  ;D
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: Sebbene il Venerdì - 13 Dicembre 2013 - 13:34
Citazione di: gnamignami il Venerdì - 13 Dicembre 2013 - 10:08
Credevo di aver capito che Sebbene lavorasse su una importazione di un precedente db e non su una installazione scratch.

Dovendo importare dati da un dump, credo sia bene  assicurarsi che la collation della connessione di MySQL del db originario sia anch'essa utf-8 e probabilmente il db di Sebbene era in Latin1.

In tal caso credo si debba fare prima un dump del db originale in utf-8_general_ci, correggere eventualmente anche la collation per tabelle e colonne (DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci) e dopo importare, altrimenti compariranno comunque caratteri 'strani'.

Trattasi effettivamente di un precedente database, comunque creato da SMF su base Latin1. Quindi diciamo che esportare in Latin11 e importanre in Latin1 risolve il problema, però mi domando perchè in fase di installazione di SMF se provo a selezionare UTF-8 esplode una bomba di geroglifici illegibili?
Il dump del database credo che non saprei farlo. Non l'ho mai fatto e sono inesperto. Necessiterei di delucidazioni in merito.
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: Sebbene il Venerdì - 13 Dicembre 2013 - 13:36
Citazione di: emanuele il Venerdì - 13 Dicembre 2013 - 12:08
Anch'io sentendo parlare di "importare" mi viene da pensare ad un trasferimento e di solito in simili casi i problemi di codifica sorgono "nel mentre" (o durante l'export o durante l'import).

Un'altra cosa: "recentemente" MySQL (o forse parecchie distro, non sono esperto, vedo solo le conseguenze) ha cambiato il charset di default da latin_swedish a utf8_general. Questo sì è fonte di problemi in caso di installazione di SMF non in utf8, perché SMF suppone che il default sia latin_swedish, quindi non si preoccupa di "forzare" il charset corretto e quando si fa a postare qualcosa che contiene caratteri fuori dall'ascii il testo viene troncato.

Bene, questo si che complica ulteriormente la questione?!  :-\ ??? ;D
Quindi comincia a rendersi necessaria l'installazione in UTF-8 ...
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: gnamignami il Venerdì - 13 Dicembre 2013 - 13:46
Citazione di: Sebbene il Venerdì - 13 Dicembre 2013 - 13:26
E scusa la domanda, come si fa ad usare una una traduzione UTF-8? Cioé, c'è una traduzione in italiano basata su UTF-8?

Quando si scaricano per installarli i files di traduzione, solitamente (vale per molti CMS) sono disponibili in due o più versioni, una di solito è con charset UTF-8.

Se le carichi e vai in /yourhomedir/Themes/default/languages troverai i files di traduzione, se hai messo gli UTF-8, vedrai ad esempio invece di  xxxx.english_british.php che ci sarà il file xxxx.english_british-utf8.php

Ma tali files servono per tradurre il template e gli add-on, non i per contenuti del db, per quelli consiglierei di lavorare alle conversioni direttamente con mysql (e già farlo su un linux o su windows con uno xampp o easyphp cambia e non poco).

EDIT
Citazione di: Sebbene il Venerdì - 13 Dicembre 2013 - 13:34
Trattasi effettivamente di un precedente database, comunque creato da SMF su base Latin1. Quindi diciamo che esportare in Latin11 e importanre in Latin1 risolve il problema, però mi domando perchè in fase di installazione di SMF se provo a selezionare UTF-8 esplode una bomba di geroglifici illegibili?
Il dump del database credo che non saprei farlo. Non l'ho mai fatto e sono inesperto. Necessiterei di delucidazioni in merito.

Il dump se hai esportato il Db (phpmyadmin?) lo hai già fatto, se hai un'esportazione in un charset non UTF-8 penso che potrasti farti facilmente uno script (sorry ma - per default - mi riferisco sempre a sistemi UNIX LIKE; con windows penso basti un editor che faccia un find & replace accurato) che converta i classici caratteri che danno problemi in html entities (vedi: http://www.ascii.cl/htmlcodes.htm). Occhio agli apicini che danno problemi spesso e volentieri e di solito meglio renderli come 
Citazione´

Dopo importi il dump in un db 'pulito' in UTF-8, non dovresti avere problemi di sorta...
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: Sebbene il Sabato - 14 Dicembre 2013 - 00:12
Citazione di: gnamignami il Venerdì - 13 Dicembre 2013 - 13:46
Citazione di: Sebbene il Venerdì - 13 Dicembre 2013 - 13:26
E scusa la domanda, come si fa ad usare una una traduzione UTF-8? Cioé, c'è una traduzione in italiano basata su UTF-8?

Quando si scaricano per installarli i files di traduzione, solitamente (vale per molti CMS) sono disponibili in due o più versioni, una di solito è con charset UTF-8.

Se le carichi e vai in /yourhomedir/Themes/default/languages troverai i files di traduzione, se hai messo gli UTF-8, vedrai ad esempio invece di  xxxx.english_british.php che ci sarà il file xxxx.english_british-utf8.php

Ma tali files servono per tradurre il template e gli add-on, non i per contenuti del db, per quelli consiglierei di lavorare alle conversioni direttamente con mysql (e già farlo su un linux o su windows con uno xampp o easyphp cambia e non poco).

EDIT
Citazione di: Sebbene il Venerdì - 13 Dicembre 2013 - 13:34
Trattasi effettivamente di un precedente database, comunque creato da SMF su base Latin1. Quindi diciamo che esportare in Latin11 e importanre in Latin1 risolve il problema, però mi domando perchè in fase di installazione di SMF se provo a selezionare UTF-8 esplode una bomba di geroglifici illegibili?
Il dump del database credo che non saprei farlo. Non l'ho mai fatto e sono inesperto. Necessiterei di delucidazioni in merito.

Il dump se hai esportato il Db (phpmyadmin?) lo hai già fatto, se hai un'esportazione in un charset non UTF-8 penso che potrasti farti facilmente uno script (sorry ma - per default - mi riferisco sempre a sistemi UNIX LIKE; con windows penso basti un editor che faccia un find & replace accurato) che converta i classici caratteri che danno problemi in html entities (vedi: http://www.ascii.cl/htmlcodes.htm). Occhio agli apicini che danno problemi spesso e volentieri e di solito meglio renderli come 
Citazione´

Dopo importi il dump in un db 'pulito' in UTF-8, non dovresti avere problemi di sorta...

Ti ringrazio molto per tutti i suggerimenti. Ho trovato questo http://kanjidict.stc.cx/recode.php ... spero funzioni bene.
Comunque una cosa non mi è chiara. Ai fini pratici quali agevolazioni comporta il fatto di convertire da Latin1 a UTF-8?
Importatndo il databese in Latin1 ho risolto il problema ma adesso mi chiedo quali siano le controindicazioni a lasciarlo così anziché convertirlo in UTF-8.
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: emanuele il Sabato - 14 Dicembre 2013 - 00:38
http://www.italiansmf.net/forum/index.php?topic=393.0
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: Sebbene il Sabato - 14 Dicembre 2013 - 13:14
Citazione di: emanuele il Sabato - 14 Dicembre 2013 - 00:38
http://www.italiansmf.net/forum/index.php?topic=393.0

Benissimo grazie. Insomma il futuro è UTF-8.
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: Sebbene il Martedì - 17 Dicembre 2013 - 12:21
Scusate, in phpMyAdmin se prima di esportare un database faccio l'operazione rappresentata nella foto sottostante codificandolo da latin1_swedish_ci a utf8_unicode_ci faccio bene? E' una funzione corretta per la conversione di un database?
Successivamente lo importerei su una installazione UTF-8 con traduzione  UTF-8.
(https://imagizer.imageshack.us/v2/540x656q90/585/30x6.jpg)
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: emanuele il Martedì - 17 Dicembre 2013 - 13:05
In manutenzione forum c'è la funzione per convertire il database in UTF8, se vuoi fare la conversione ti conviene usare quello.
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: Sebbene il Martedì - 17 Dicembre 2013 - 13:11
Citazione di: emanuele il Martedì - 17 Dicembre 2013 - 13:05
In manutenzione forum c'è la funzione per convertire il database in UTF8, se vuoi fare la conversione ti conviene usare quello.

E' vero!!! 1000 grazie!
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: Monital il Sabato - 28 Dicembre 2013 - 19:12
salve a tutti ed auguri di buone feste, mi accodo a questo post per chidere una curiosità

ho importato il sito da un server ad un altro e praticamente per ragioni lunghe da spiegare ho importto l'intero database della 2.04 aggiornato alla 2.06 nel nuovo server e poi tramite smf ho caricato i file source originali del 2.06 nel forum.

questo eprchè a causa di vecchie mod inutilizzabili i file sub sopratutto ed altri erano "sporchi"

Ora ho inserito la mod del multilnguage ed ho inserito l'italian-utf8 ed ho notato che si rpesentava il problema dei punti interrogativi. cambiando il body della tabella messaggi da latin-swedisch a utf8_general_ci il problema è sparito.

Ora sarei un pò preoccupato a fare il cambio dell'intero database dall'opzione dell'amministrazione perchè non vorrei mis convolgesse qualcosa.

La domanda è

se ho i file di linguaggio italian.utf8 ed english-utf8 corro rischi a usare lo strumento di amministrazione che converte l'intero database?
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: emanuele il Sabato - 28 Dicembre 2013 - 21:19
Mai cambiare la collation delle tabella "a caso"...
Cambiare la collation non è sufficiente per far si che SMF funzioni correttamente in UTF8, inoltre non puoi cambiare una tabella sì e tutte le altre no, quindi adesso potresti avere un forum che *apparentemente* funziona, ma che quando posti un testo con un carattere accentato ti tronca il testo al carattere, oppure il soggetto, oppure i PM, e via dicendo... >_<

C'è in giro un altro topic qui sul forum dove ho fatto tutta la trafila di cosa verificare per capire esattamente cosa fare, seguila e verifica esattamente come sei messo.
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: Monital il Sabato - 28 Dicembre 2013 - 22:32
Citazione di: emanuele il Sabato - 28 Dicembre 2013 - 21:19
Mai cambiare la collation delle tabella "a caso"...
Cambiare la collation non è sufficiente per far si che SMF funzioni correttamente in UTF8, inoltre non puoi cambiare una tabella sì e tutte le altre no, quindi adesso potresti avere un forum che *apparentemente* funziona, ma che quando posti un testo con un carattere accentato ti tronca il testo al carattere, oppure il soggetto, oppure i PM, e via dicendo... >_<

C'è in giro un altro topic qui sul forum dove ho fatto tutta la trafila di cosa verificare per capire esattamente cosa fare, seguila e verifica esattamente come sei messo.

bene vedo se lo trovo. ricordi il titolo?

grazie
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: emanuele il Sabato - 28 Dicembre 2013 - 23:17
Nope...ed al momento ho la mente un po' annebbiata (sonno arretrato), se non lo trovi, domani lo cerco.
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: nxdrd il Domenica - 29 Dicembre 2013 - 11:37
Ma quindi è meglio impostare il database in utf8_general_ci o è meglio utf8_unicode_ci ?
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: Monital il Martedì - 31 Dicembre 2013 - 12:11
emanuele ho trovato un solo tuo post a cuia ccenni solo alla prima teoria sulla cosa ma niente di indicativo.

Datoc he i ho messo 3 giorni a riparare agli errori del sito causa vecchie mod e modifiche ai file source(non fatti da me) che mi hanno creato non pochi problemi sopratutto dopo l'avvento del multi language, ho un pò timore a convertire il tutto in utf8.

se riescia  trovarmi il topic a tempo perso te ne sarei grato.

Saluti e buon anno nuovo se non ci si risente
Titolo: Re:UTF-8 e problemi importazione database
Inserito da: emanuele il Martedì - 31 Dicembre 2013 - 14:59
Da qui in avanti:
http://www.italiansmf.net/forum/index.php?topic=697.msg2755#msg2755