- Home
- Categorie
- Coding e Sistemistica
- PHP
- Funzione per codifica utf-8
-
Funzione per codifica utf-8
Questo articolo spiega come gestire un sito con la codifica utf-8
nolatino.com/progettazione-siti-web-php/php-mysql/creare-un-sito-multilingue-risolvendo-i-problemi-di-codifica-dei-caratteri.htm.Si dice di filtrare tutte le stringhe non numeriche che provengono da moduli in questa funzione
// FUNZIONE CHARSET PER CONVERTIRE DATI INVIATI DAGLI UTENTI
function utf8_to_unicode( $str ) {$unicode = array();
$values = array();
$lookingFor = 1;for ($i = 0; $i < strlen( $str ); $i++ ) {
$thisValue = ord( $str[ $i ] );
if ( $thisValue < 128 ) $unicode[] = $thisValue;
else {if ( count( $values ) == 0 ) $lookingFor = ( $thisValue < 224 ) ? 2 : 3;
$values[] = $thisValue;
if ( count( $values ) == $lookingFor ) {
$number = ( $lookingFor == 3 ) ?
( ( $values[0] % 16 ) * 4096 ) + ( ( $values[1] % 64 ) * 64 ) + ( $values[2] % 64
( ( $values[0] % 32 ) * 64 ) + ( $values[1] % 64 );$unicode[] = $number;
$values = array();
$lookingFor = 1;}
}
}
return $unicode;
}
Secondo voi è corretto? La funzione ritorna un array, come devo fare per leggerlo?
-
Ciao FabrizioCo,
occhio e croce credo sia corretta. Per usarla è sufficiente, ad esempio, fare un ciclo foreach sull'output:$out = utf8_to_unicode('amo il php');
foreach ($out as $val)
echo $val."-";che ti restituisce i valori unicode delle lettere della stringa, separati nell'esempio dal trattino (-).
-
[..]
Grazie!