Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: Chybové hláčení s otazníky

PHP PHP Chybové hláčení s otazníky American English version English version

Aktivity (1)
Avatar
Kulíšek
Člen
Avatar
Kulíšek:20.6.2016 22:21

Zdravím, při nepovedeném spojení s databází vypisuji

catch (Exception $e)
       {
           die('Odchycená chyba' . $e->getMessage());
       }

Jenže v konečném výsledku mám místo diakritiky otazníky. Všechno ostatní funguje v databázi mám nastaveno UTF-8 czech, v indexu mám mb_internal_en­coding("UTF-8"); zdroják mám také v UTF-8, u PDO mám PDO::MYSQL_AT­TR_INIT_COMMAND => "SET NAMES utf8".
Výpis i ukládání do databáze probíhá v pořádku.
Jak se těch � potvor zbavit?

pardon za ten nadpis, hlavně že si dvacetkrát kontroluji obsah dotazu ale na nadpis si nevzpomenu :/

Editováno 20.6.2016 22:23
 
Odpovědět 20.6.2016 22:21
Avatar
mkub
Redaktor
Avatar
Odpovídá na Kulíšek
mkub:20.6.2016 22:33

a mas aj v HTML uvedene utf-8?

 
Nahoru Odpovědět 20.6.2016 22:33
Avatar
Kulíšek
Člen
Avatar
Odpovídá na mkub
Kulíšek:20.6.2016 22:36

ano i tam
no ale ted jsi mne nakopl, ta hláška se totiž vypisuje před výpisem html, problém zřejmě nalezen, ale vůbec nevím jak se ho zbavit

Editováno 20.6.2016 22:38
 
Nahoru Odpovědět 20.6.2016 22:36
Avatar
mkub
Redaktor
Avatar
Odpovídá na Kulíšek
mkub:20.6.2016 22:40

skus skontrolovat browser, ze ci tam je zvolene napevno ine kodovanie znakov, lebo aj tam to kodovanie moze zablbnut

 
Nahoru Odpovědět 20.6.2016 22:40
Avatar
Kulíšek
Člen
Avatar
Kulíšek:20.6.2016 22:57

tam je také utf-8
už nevím co dělat tak jsem zkusila do výpisu nacpat kostru HTML

die('<!DOCTYPE html>
<html lang="cs-cz">
<head>
    <base href="/localhost"/>
    <meta charset="UTF-8"/> </head><body> Odchycená chyba' . $e->getMessage() . '
 příliš žluťoučký kůň úpěl ďábelské kódy. </body></html>');

špatně se vypisuje jen obsah $e->getMessage()

 
Nahoru Odpovědět 20.6.2016 22:57
Avatar
David Hynek
Redaktor
Avatar
Odpovídá na Kulíšek
David Hynek:21.6.2016 0:12

začínáš PHP s touto hlavičkou?

header('Content-type: text/html; charset=utf-8');

Mělo by to pomoci...

Nahoru Odpovědět 21.6.2016 0:12
Čím víc vím, tím víc věcí nevím.
Avatar
Kulíšek
Člen
Avatar
Kulíšek:21.6.2016 0:16

neměla jsem, ale bohužel ani přidání nepomohlo

 
Nahoru Odpovědět 21.6.2016 0:16
Avatar
David Hynek
Redaktor
Avatar
Odpovídá na Kulíšek
David Hynek:21.6.2016 10:32

a není to takhle přijato už z DB? V jakým ji máš kódování?

Nahoru Odpovědět 21.6.2016 10:32
Čím víc vím, tím víc věcí nevím.
Avatar
Kulíšek
Člen
Avatar
Kulíšek:21.6.2016 16:33

jak píšu vše mám v utf-8czech - databázi, sloupce i řádky

 
Nahoru Odpovědět 21.6.2016 16:33
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kulíšek
David Čápka:21.6.2016 16:52

Hodilo by se napsat kde se bere obsah vlastnosti $message té výjimky. Pokud je špatně vypsaný jen ten, tak je problém tam, kde výjimku vyhazuješ. Nemůžeme vědět, jestli tam máš jen staticky napsaný text (pak je špatně kódovaný ten soubor) nebo zda tam dáváš třeba hlášku z DB (pak je problém v DB).

Nahoru Odpovědět  +1 21.6.2016 16:52
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kulíšek
Člen
Avatar
Kulíšek:21.6.2016 17:07

Asi hláška z db je to jen obalený vnitřek funkce pripoj z tutoriálu "Jednoduchý redakční systém v PHP objektově (MVC)"
můžu to zkusit na čistém výsledku z toho tutoriálu

 
Nahoru Odpovědět 21.6.2016 17:07
Avatar
katrincsak
Člen
Avatar
Odpovídá na Kulíšek
katrincsak:29.6.2016 15:17

Nejčastější chyba bývá v nastavení kódování samotného používaného souboru.

 
Nahoru Odpovědět  +2 29.6.2016 15:17
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.