Domanda

Ho questa funzione che converte tutti i caratteri speciali in maiuscolo:

function uc_latin1($str) {
    if(!defined("LATIN1_UC_CHARS"))
        define("LATIN1_UC_CHARS", "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝ");
    if(!defined("LATIN1_LC_CHARS"))
        define("LATIN1_LC_CHARS", "àáâãäåæçèéêëìíîïðñòóôõöøùúûüý");
    $str = strtoupper ( strtr ( $str, LATIN1_LC_CHARS, LATIN1_UC_CHARS ) );
    return $str;
}

Questa funzione funziona bene nel mio PC di sviluppo che esegue Windows XP ... ma, quando prova nel server di produzione Red Hat Linux, non maiuscolo la stringa. La stringa è ISO-8859-1 codifica.

Come posso farlo funzionare anche in Linux?

È stato utile?

Soluzione

Hai provato a usare mb_strtoupper () ? Sul mio computer, questo convertiti, almeno, tutti i personaggi che avete definito anche se può indesiderato convertire gli altri pure.

Ad esempio:

$str = àáâãäåæçèéêëìíîïðñòóôõöøùúûüý;
$str = mb_strtoupper($str);
echo $str;
// Prints ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝ
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top