OS ilgili strtr sorunu

1 Cevap php

Ben büyük harfe tüm özel karakter dönüştüren bu işlevi vardır:

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;
}

Bu fonksiyon, Red Hat Linux çalıştıran üretim sunucusunda test ettiğinde, Windows XP çalıştıran benim geliştirme PC çalışıyor ... ama, o dize büyük harf değildir. Dize ISO-8859-1 kodlanmış.

Nasıl çok Linux iş yapabilirim?

1 Cevap

Eğer kullanarak denediniz mb_strtoupper()? Bu istenmeyen bir de başkalarını dönüştürmek olsa benim bilgisayarda, bu dönüştürür, en azından, karakterlerin tüm tanımlanmış.

Örneğin:

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