OS-correlate problema strtr
-
28-09-2019 - |
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?
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