News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

Lettere accentate errate solo nei messaggi privati

Started by thebigbug, January 09, 2009, 05:15:40 PM

Previous topic - Next topic

thebigbug

Ciao,

da che può dipendere? Nei post sul forum tutto okey, invece nei messaggi privati le lettere accentate sono codificate diversamente.

SMF 1.1.7 importata da VBulletin mantenuta su Aruba su server Linux.

::)

tatore

Ciao, thebigbu.
Questo ti succede con i vecchi messaggi privati o anche con i nuovi messaggi che stai ricevendo?
                        
*Salvo*




Quote from: RumbaarI wont jump to conclusion, but you might be hacked?

thebigbug

Ciao,
la cosa è abbastanza (appare ad un utente digiuno) bizzarra.
Il problema si presenta nei messaggi nuovi, ma non con tutti gli utenti. Ad esempio, stiamo facendo esperimenti tra di noi proprio per tentare di capire. Scriviamo semplicemente: à è ì ò ù
Ebbene ciò che arriva sui messaggi privati è:
à Ú ì ò ù

Ho dato un'occhiata alle tabelle sul server mysql aruba. Tutte le tabelle hanno il campo Collation impostato a latin_swedish_c
Devo dire che io non l'ho mai impostato in quel modo, ma nessuno ci crederà mai
Però nell'ultima riga, quella di "sintesi" nello stesso campo c'è:  utf8_unicode_c

Però nei normali messaggi sul forum non vi sono problemi.


tatore

..perchè quando si crea un database, e si sceglie il set di caratteri di default(dal database), sto notando che quello di default è (quasi) sempre utf8_unicode_ci.
Mentre l'importazione del db segue il set di caratteri del db importato, e si carica come latin1_swedish_ci.
Adesso sto pensando al tuo problema, e non mi viene in mente qualcosa di concreto, perchè: il problema delle lettere accentate si presenta sempre con lo "storico" importato, non con i nuovi messaggi, che siano privati o del forum stesso.
Convertire il forum a utf8_unicode_ci vuol dire sfasciare un intero forum, perchè tutte le lettere accentate diventerebbero: à Ú ì ò ù
Il processo inverso NON si puo' fare.
Non vorrei fosse un problema del converter, che in qualche modo non ha ricreato la tabella smf_personal_messages correttamente. E il problema persiste, con l'aggravante che solo alcuni utenti vivono quest'anomalia.
Allora, giusto per curiosità, ti chiederei:
Admin>>>Configurazione server>>>lingua di default del forum: qual'è la lingua di default? Italian o italian-utf8 ? Esiste inoltre tra le lingue (tra quelle presenti nel menu' a tendina) l'opzione dell'Italian-utf8?
Hai provato a vedere se i caratteri sopra sono presenti anche nei records del database?
*Salvo*




Quote from: RumbaarI wont jump to conclusion, but you might be hacked?

thebigbug

#4
Grazie per il tuo aiuto.
Allora.
Admin->Impostazione server->Configurazione principale->Lingua predefinita=Italian-utf8

Opzioni presenti: English, Italian-utf8

Si ho controllato il database, i caratteri codificati in modo errato sono presenti anche nei records.

Aggiungo una cosa che mi sono dimenticato di precisare, forse può aiutare. I file di lingua italiana, onde evitare l'apparizione nel forum dei caratteri codificati in modo errato, li modificai a mano uno per uno (per intenderci i file dentro la cartella /Themes/default/languages). Ovviamente negli originali i caratteri erano corretti. Ho tolto le accentate ed inserito l'apice singolo: es. à è diventato a\'.
Che sia stato un problema nel passaggio tra VBulletin e SMF?
Cmq, grazie ancora per la tua disponibilità. Al limite dirò di accentare con l'apice singolo.

P.S. esiste qualche strumento (ad esempio una query che naturalmente io non so fare) che permette di scandire una tabella e sostituire un'occorrenza con un'altra record per records? Se si tratta di cambiare la codifica e correggere successivamente il database, potrei tentare dopo aver fatto ovviamente un backup.

tatore

#5
...e non va bene  ;)

Allora...andiamo ancora piu' in fondo alla cosa (perchè poi dare questi fastidi agli utenti?  :P ).

Mi esegui questa query (via phpMyAdmin)?

SELECT * FROM `smf_settings` WHERE `variable` = 'global_character_set' LIMIT 1;

E mi riporti quello che è scritto sotto, es:
global_character_set |    UTF-8

E poi vediamo se risolviamo.
Se le tabelle sono in latin1_swedish_ci e il language pack è utf-8 potresti avere problemi maggiori in futuro (ERROR 1267 (HY000): Illegal mix of collations (utf8_general_ci,IMPLICIT) and(latin1_swedish_ci,COERCIBLE) for operation...)

Probabilmente scaricando il language pack in italian (e non italian-utf8) e mettendolo come lingua di default risolvi.

*Salvo*




Quote from: RumbaarI wont jump to conclusion, but you might be hacked?

thebigbug

#6
Dunque, ho aperto il pannello di aruba mysql phpMyAdmin, acceduto al database in questione, selezionata l'opzione SQL e introdotto con copia ed incolla la query che mi hai indicato nell'apposito campo.

Esegui la/e query SQL sul database
QuoteSELECT * FROM `smf_settings` WHERE `variable` = 'global_character_set' LIMIT 1

il risultato è:
QuoteMySQL ha restituito un insieme vuoto (i.e. zero righe). ( La query ha impiegato 0.0003 sec )
SELECT *
FROM `smf_settings`
WHERE `variable` = 'global_character_set'
LIMIT 1 ;

mmmm ... forse sbaglio qualcosa?

tatore

SELECT * FROM `smf_settings` WHERE `variable` = 'global_character_set' LIMIT 1;
Hai messo il delimitatore  ";" alla fine della query?

Prova a scaricare il language pack che ti ho postato sopra e caricalo sul server (scompattalo sul pc e via ftp fai l'upload).

Altra mossa:
Scarica il file Settings.php, e controlla se c'è qualche stringa che faccia riferimento alla codifica utf8. Nel caso la commenti (è sempre alla fine del file).

E la sostituisci con questa, prima del ?> finale

$db_character_set = 'latin1';

In questo modo imporrai la codifica latin1_swedish_ci com'è giusto che sia.

Una volta che tutto è caricato e sistemato dal pannello admin>>>Impostazione Server>>>Lingua di default del forum e cambia da italian-utf8 a italian. Il consiglio è valido solo se, come mi hai detto, le tabelle del database sono Latin1_swedish_ci.
*Salvo*




Quote from: RumbaarI wont jump to conclusion, but you might be hacked?

thebigbug

Ciao Tatore,

sei grande!

Ho eseguito alla lettera la tua procedura. Ora nei messaggi privati come anche nel file Help (che come detto avevo modificato togliendo gli accenti e mettendo l'apice) è tutto regolare.

Però è apparso un altro problema. Avevo installato media gallery e il package per la lingua italiana. Appena scelezionata la lingua "italiano" in sostituzione di "italiano-utf8" come lingua di default, da Amministratore è scomparsa la voce di menù Gallery. Entrando come normale utente invece la vedo ancora.
inoltre sempre accedendo (come Admin) alla sezione permessi nei vari gruppi non leggo i testi delle opzioni relative a Gallery

mmm ... qualche idea?

Come vedi ti sono sul collo ...  :P

Infinite grazie per la tua disponibilità

thebigbug

Cavolo, credo di aver capito. Il pacchetto di media gallery per l'italiano è in italian-utf8.

C'è una soluzione?

Darknico

cambia semplicemente (o fai una copia) rinominando i file in italian
ovviamente quello che hai scritto anche nel file modifications.italian-ut8 devi metterlo anche nel semplie modifications.italian
Italian SMF - Supporto Italiano per la board SMF - Ci trovate tutti li!! :)


thebigbug

Quote from: Darknico on January 11, 2009, 07:51:28 AM
cambia semplicemente (o fai una copia) rinominando i file in italian
ovviamente quello che hai scritto anche nel file modifications.italian-ut8 devi metterlo anche nel semplie modifications.italian

Cribbio,

me siete tutti dei fenomeni qua.

GRANDEEEEE!!!!!

thanks

tatore

Benissimo.
L'importante è che hai risolto. ;)
Ribadisco quello che ha detto Darknico: tutti i files .italian-utf8.php che ti mancano (perchè adesso  hai italian.php )devono essere introdotti con la giusta codifica. (.italian.php).
Controlla anche se la tua lingua (dal profilo) è impostata sulla codifica giusta.

Marco come risolto il topic, per eventuali problemi relativi alle lettere accentate (attenzione: quelle presenti nei records del database sono dubbioso che possano tornare normali...ma non si sa mai), non hai che da chiedere. ;)
*Salvo*




Quote from: RumbaarI wont jump to conclusion, but you might be hacked?

thebigbug

Quote from: tatore on January 11, 2009, 08:14:58 AM
Benissimo.
L'importante è che hai risolto. ;)
Ribadisco quello che ha detto Darknico: tutti i files .italian-utf8.php che ti mancano (perchè adesso  hai italian.php )devono essere introdotti con la giusta codifica. (.italian.php).
Controlla anche se la tua lingua (dal profilo) è impostata sulla codifica giusta.

Marco come risolto il topic, per eventuali problemi relativi alle lettere accentate (attenzione: quelle presenti nei records del database sono dubbioso che possano tornare normali...ma non si sa mai), non hai che da chiedere. ;)

Okey, va tutto a meraviglia.

Grazie!

P.S. marca pure come risolto

L'AltroWeb

#14
Io invece ho un problema leggermente diverso...
Ho convertito con successo (in locale) il mio forum in utf8: Converti le entità HTML in caratteri UTF-8 (e nessuna accentata nei post del forum è stata danneggiata!)
Ovviamente ho aggiornato anche la lingua (insomma un po di tutto dato che ho rinnovato/reinstallato da zero il forum)
Purtroppo però ho problemi con le accentate delle mail: prova accentate à Úìòù
-
Lingua utf8, database utf8, post e topics sono corretti, mancano sono le mail (il testo nelle mail, l'intestazione è ok) ma non riesco a risolvere :(
-
PS: le mail le leggo con thunderbird.
-
Riedit!
Credo d'aver capito, il problema è su thunderbird, cioè al contrario di firefox non mi riconosce in automatico il tipo di encoding.
Adesso l'ho impostato ad utf-8 e ricostruito l'indice e sembra tutto ok :)
QuoteLa seguente è una e-mail inviatati da xxx tramite il vostro account su DarkWolf. Se questo messaggio contiene spam, messaggi abusivi o altri commenti che ritieni offensivi, per favore contatta il webmaster del forum al seguente indirizzo  darkwolf at altervista.org
Il messaggio inviato è il seguente:
test accentate 3: à è ì ò ù
;)

Darknico

è un problema anche di trad
nè quella di SMI nè ufficiale, sono corretti al 100% per l'utf-8
presto verrannosistemate, si sta lavorando da un po di tempo per questo..

per info puoi dare un occhiata anche qui
http://www.smitalia.net/community/index.php/topic,4324.0.html
Italian SMF - Supporto Italiano per la board SMF - Ci trovate tutti li!! :)


L'AltroWeb

Quote from: Darknico on February 01, 2009, 05:58:24 AM
è un problema anche di trad
nè quella di SMI nè ufficiale, sono corretti al 100% per l'utf-8
presto verrannosistemate, si sta lavorando da un po di tempo per questo..

per info puoi dare un occhiata anche qui
http://www.smitalia.net/community/index.php/topic,4324.0.html
Si ho notato, quelle poche stringhe da convertire in "numeric entities" me le sono convertite ;)
Il problema era il "testo" adesso risolto cambiando la codifica di thunderbird stesso :)

Advertisement: