PDA

View Full Version : ...Java...formattazione testo...


ally
18-06-2007, 16:10
...esiste una maniera veloce per formattare il testo permettendo solo determinati caratteri?...vorrei evitare l'uso di indexOf charAt etc...

...grazie ciao...

andbin
18-06-2007, 16:24
...esiste una maniera veloce per formattare il testo permettendo solo determinati caratteri?...vorrei evitare l'uso di indexOf charAt etc...Cioè? Puoi fare un esempio?

ally
18-06-2007, 16:35
...certamente...

Prendimi così

...dovrebbe risultare Prendimi cos...o meglio ancora diventare Prendimi così...

...grazie ciao...

ally
18-06-2007, 16:38
...dovrei formattare il contenuto di un db mal importato...nei limiti del possibile naturalmente...

...grazie ciao...

andbin
18-06-2007, 16:47
Prendimi così

...dovrebbe risultare Prendimi cos...o meglio ancora diventare Prendimi così...Beh, allora non mi sembra tanto una questione di "formattazione" ma un problema legato alla codifica dei caratteri!

ally
18-06-2007, 16:54
...si scusami...hai ragione...come è possibile risalire alla codifica di appartenenza?...e come è possibile ricodificare i caratteri?...

...grazie ciao...

andbin
18-06-2007, 17:05
...si scusami...hai ragione...come è possibile risalire alla codifica di appartenenza?...e come è possibile ricodificare i caratteri?...Puoi fare qualche altro esempio di stringa errata indicando anche come dovrebbe essere??

Così ... ad occhio nella stringa "ì" i caratteri che ho marcato in rosso sembrano tanto il byte iniziale di una codifica UTF-8. Il resto però non mi quadra molto ....

ally
18-06-2007, 17:12
...queste stringhe sono derivate da una migrazione di in un db Sql Server a mySql...di piu' non so dirti sull'origine dei dati...


à => à

ò => ò

è => è


...grazie ciao...

ally
18-06-2007, 17:16
...in altre tabelle pero sembra che ci sia una diversa codifica...


Più => piu'

Non È => non è

Amerò => amerò



...grazie ciao...

andbin
18-06-2007, 20:13
Più => piu'

Non È => non è

Amerò => amerò

Partiamo da questo caso che è più semplice:

In Più ci sono 2 caratteri per codificare la 'ù': 'Ã' ha codice U+00C3 e '¹' ha codice U+00B9. Nella codifica UTF-8 la sequenza C3h B9h codifica il carattere unicode U+00F9, cioè proprio la lettera 'ù'.
Le altre due parole sono allo stesso modo.



à => à

ò => ò

è => è
Questo è più tosto ... non sono ancora riuscito a capire bene. Credo che siano avvenute diverse transcodifiche in sequenza, altrimenti non riuscirei a capire come una 'è' sia diventata ben 8 caratteri. Che tra l'altro, presi a coppie, "sembrano" pure loro in UTF-8 (ma il secondo carattere di ogni coppia comunque mi sembra strano).

ally
18-06-2007, 20:59
...mh...penso cha la sostituzione delle stringhe in un carattere specifico sia la strada migliore per sistemare la questione...formattero' prima l'ipotetica utf-8 per poi sistemare il caso piu' semplice...tutto questo dovrebbe riguardare solo le lettere accentuate alla fine vero?...

...grazie ciao...