Vývoj softwaru a webových aplikací v jazyce PHP může občas narazit na různé chyby, které brání správnému fungování aplikace. Jednou z takových chyb je "Fatal error: Uncaught Error: Call to undefined function mb_convert_encoding()". Tento článek poskytuje podrobný návod, jak tento problém řešit a zabránit jeho opětovnému výskytu.
Identifikace problému
Chyba "Fatal error: Uncaught Error: Call to undefined function mb_convert_encoding()" se vyskytuje v PHP skriptech, když je zavolána funkce mb_convert_encoding()
bez toho, aby bylo nainstalováno a aktivováno rozšíření Multibyte String (mbstring). Rozšíření mbstring poskytuje funkcionalitu pro práci s multibyteovými řetězci, což je nezbytné pro správnou podporu Unicode ve vašich aplikacích.
Krok 1: Ověření instalace rozšíření mbstring
Prvním krokem je zkontrolovat, zda je na vašem serveru nainstalováno rozšíření mbstring. To lze provést několika způsoby:
- Vytvoření souboru phpinfo.php: Vytvořte PHP soubor s následujícím kódem a umístěte ho na váš webserver:
<?php
phpinfo();
?>
Po vytvoření tohoto souboru otevřete tento soubor ve webovém prohlížeči. Pomocí funkce vyhledávání v prohlížeči vyhledejte "mbstring". Pokud najdete konfiguraci mbstring, znamená to, že rozšíření je nainstalováno.
- Použití příkazové řádky: Pokud máte přístup k příkazové řádce serveru, můžete zkontrolovat instalaci mbstring pomocí příkazu
php -m
, který vypíše všechna PHP rozšíření. Pokud v seznamu uvidíte "mbstring", rozšíření je nainstalováno.
Krok 2: Instalace nebo aktivace rozšíření mbstring
Pokud jste zjistili, že rozšíření mbstring není nainstalováno, budete muset provést jeho instalaci nebo aktivaci.
Krok 3: Testování funkčnosti
Po instalaci nebo aktivaci rozšíření mbstring otestujte jeho funkčnost. To lze provést vytvořením jednoduchého PHP skriptu, který používá funkci mb_convert_encoding()
a spuštěním tohoto skriptu ve webovém prohlížeči.
<?php
$text = "Příliš žluťoučký kůň";
$convertedText = mb_convert_encoding($text, "UTF-8");
echo $convertedText;
?>
Pokud skript vrátí očekávaný výstup bez chyby, rozšíření mbstring je správně nainstalováno a aktivováno.
Řešení chyby "Fatal error: Uncaught Error: Call to undefined function mb_convert_encoding()" v PHP spočívá v ověření, instalaci nebo aktivaci rozšíření mbstring. Tento článek poskytuje detailní postup, jak tento problém vyřešit a zajistit, aby vaše PHP aplikace mohla bez problémů pracovat s multibyteovými řetězci.