Chybějící české znaky při výpisu z DB

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
fish
Člen | 4
+
0
-

Zdravím,

zkoušel jsem rozběhat Nette s dibi podle návodu a vše šlo ok, ale při zobrazování dat z databáze se mi nezobrazují znaky s diakritikou a hází mi to warning:

Notice: iconv_strlen() [function.iconv-strlen]: Detected an illegal character in input string in ...\libs\Nette\String.php on line 169

Databázi mam MySQL, kódování normálně v UTF-8, tak nevím, kde je problém. Hledal jsem tady na fóru, jestli někdo neměl podobný problém, ale nenašel jsem.

Díky za rady, určitě jde o nějakou prkotinu :/

Honza Kuchař
Člen | 1662
+
0
-

https://doc.nette.org/…tils/strings můžeš používat jenom za předpokladu, že máš string v UTF-8. Takže asi máš v databázi data, která nejsou v UTF-8.

Ondřej Mirtes
Člen | 1536
+
0
-

Zkus do configu přidat řádek (uprav případně část před tečkou):

dibi.charset = "utf8";

Případně můžeš po připojení k DB zavolat dotaz SET NAMES utf8.