Špatně zobrazujicí se diakritika v DB

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

PreTox
Level 2
Level 2
Příspěvky: 151
Registrován: 07 říj 2008 14:50
Bydliště: Praha
Kontaktovat uživatele:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvek od PreTox »

Mimochodem, proč to píšeš tak nepřehledně? Stačí napsat

Kód: Vybrat vše

   if(!mysql_connect('aaa,'aaa','aaa')) die('Spojení s MySQL databází se nezdařilo.');
   if(!mysql_select_db('aaa')) die('Nepodařilo se vybrat databázi pokus.');


a máš to stejné jako

Kód: Vybrat vše

    $id_spojeni = mysql_connect('aaa,'aaa','aaa');
    if (!$id_spojeni)
      die('Spojení s MySQL databází se nezdařilo.');
    $vysledek_zvoleni_db = mysql_select_db('aaa',$id_spojeni);
    if (!$vysledek_zvoleni_db)
    {
      echo mysql_errno($id_spojeni),': ',mysql_error($id_spojeni),'<br>';
      die('Nepodařilo se vybrat databázi pokus.');
    }


// upravil jsem if(!mysql_select_db('aaa')) die('Nepodařilo se vybrat databázi pokus.');
MB: ASUS Striker II Formula, CPU: Intel Core™ 2 Duo 3,16GHz, CPU Cooler: Zalman CNPS8700 LED, RAM: 2x1GB Corsair Dominator 1066 MHz DDR II, GPU: ASUS ATI Radeon HD 5770 DDR3 1GB, HDD: WD CG 500GB SATA 300, HDD2: WD CG 2TB SATA 300, Zdroj: Corsair 650W
Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: 11 úno 2009 15:44
Bydliště: Jihlava
Kontaktovat uživatele:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvek od Stene »

Super, jste zlata..
CzechBoy: Ještě vyřešeno nedám - ještě mi to nejde tak jak bych si představoval.. :inlove:

V DB se diakritika zobrazuje tak jak má, ale při výstupu na webu je toto - ��������
PreTox: Když zašlu tu zprávu do DB tak se mi zobrazí Nepodařil se SQL příkaz... něco tomu chybí :(.. Ale co - jinak se to do DB odešle bez problémů.. Prostě je tam něco špatně..
Špatně zobrazující se výpis vyřešíme kdyžtak dýl.. Zatím jsem na to neměl moc čas kouknout.

Ještě jednou díky :wub: :wub:
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvek od CZechBoY »

Nemáš v nastavení souboru uloženo kódování souboru UTF-8
v čem píšeš ten kód ? PsPad to má v menu Formát a tam klikneš na UTF-8 a dáš uložit
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: 11 úno 2009 15:44
Bydliště: Jihlava
Kontaktovat uživatele:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvek od Stene »

To jsem zkusil asi 10x ... Uložil jsem -> vypnul/zapnut PSPad a formát v souboru je zase Windows (CP1250) .. Nechce se to uložit na UTF8..

Musím jít, zítra to snad doděláme
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvek od CZechBoY »

Klikneš na utf-8.
Dole máš v lište napsáno kódování.
kodovani_pspad.jpg




ps. asi si měl zatržené automatické CP, nebo nějaká automatika
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: 11 úno 2009 15:44
Bydliště: Jihlava
Kontaktovat uživatele:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvek od Stene »

Po nastavení na UTF8 mám dole na liště i po vypnutí/zapnutí UTF8 - co je tedy špatně.. Nemusí se kódování přepisovat i při výpisu z DB?
Data z DB vypisuji takto

$id_spojeni = mysql_connect('aaa','aaa,'aaa');
if (!$id_spojeni)
die('Spojení s MySQL databází se nezdařilo.');
$vysledek_zvoleni_db = mysql_select_db('aaa',$id_spojeni);

if (!$vysledek_zvoleni_db)
{
echo mysql_errno($id_spojeni),': ',mysql_error($id_spojeni),'<br>';
die('Nepodařilo se vybrat databázi pokus.');
}
$sql =
"SELECT "
."write_time,"
."name,"
."IFNULL(mail,'') AS mail,"
."message "
."FROM book "
."ORDER BY write_time DESC"
;
$id_vysledku = mysql_query($sql,$id_spojeni);
if (!$id_vysledku)
{
echo mysql_errno($id_spojeni),': ',mysql_error($id_spojeni),'<br>';
die('Nepodařilo se vykonat SQL dotaz.');
}
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvek od CZechBoY »

Jde o to že každý soubor má nějaké kódování.
Na všech stránkách nastav hlavičku o tom že dokument má kódování UTF-8
v každém dokumentu nastav kódování UTF-8, viz obrázek v minulém příspěvku.
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: 11 úno 2009 15:44
Bydliště: Jihlava
Kontaktovat uživatele:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvek od Stene »

To mám uplně na všech nastavený..
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvek od CZechBoY »

Ok můžeš poslat nějaký soubor sem jako přílohu a úplně stejný dát na net ?

Nebo jinak: když píšeš v dokumentu normal diakritiku ščřžýáí zobrazuje se správně ?
Když taháš data z databáze s diakritikou tak se zobrazují otázníčky v černém pozadí ?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: 11 úno 2009 15:44
Bydliště: Jihlava
Kontaktovat uživatele:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvek od Stene »

CZechBoY:
Jo, přesně.. Když to píšu v PSPadu tak se to zobrazuje správně a když vytahuju z DB (ve který je to správně napsaný) data tak se na stránkách zobrazují otazníčky

/*
Proč si myslíš, že jsme zrušili u předchozího příspěvku tlačítko CITOVAT? Aby si nějaký vykuk citoval v CODE, které k tomu není určeno?
Máš-li opravdu důvod (například z velmi dlouhého příspěvku vytáhnout jednu větu, na kterou reaguješ), pak klidně použij značku QUOTE, která je pro citování určena, ale není sebemenší důvod pro to, abys citoval většinu předchozího příspěvku (a navíc to cpal do CODE, kam patří kód).
Většinou navíc namísto citace postačuje, když napíšeš jméno toho, na koho reaguješ, jak jsem ti to taky opravil.
Myloš
*/
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvek od CZechBoY »

Myslel jsem to možná jinak.
Když zobrazíš stránku, kde je diakritika tak se ti zobrazuje ta stránka dobře s diakritkou ? Pošli screen z PsPadu jak máš nastavené to kódování, stejný jak jsem fotil já.
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
PreTox
Level 2
Level 2
Příspěvky: 151
Registrován: 07 říj 2008 14:50
Bydliště: Praha
Kontaktovat uživatele:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvek od PreTox »

Tak to napíšu znova..

TOHLE si dej za VŠECHNA spojení s databází, tzn. i když vybíráš data, tak to tam musíš mít...

Kód: Vybrat vše

mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES 'utf8'");


Výsledný kód:

Kód: Vybrat vše

$id_spojeni = mysql_connect('aaa','aaa,'aaa');
if (!$id_spojeni)
die('Spojení s MySQL databází se nezdařilo.');
$vysledek_zvoleni_db = mysql_select_db('aaa',$id_spojeni);

if (!$vysledek_zvoleni_db)
{
echo mysql_errno($id_spojeni),': ',mysql_error($id_spojeni),'<br>';
die('Nepodařilo se vybrat databázi pokus.');
}

mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES 'utf8'");

$sql =
"SELECT "
."write_time,"
."name,"
."IFNULL(mail,'') AS mail,"
."message "
."FROM book "
."ORDER BY write_time DESC"
;
$id_vysledku = mysql_query($sql,$id_spojeni);
if (!$id_vysledku)
{
echo mysql_errno($id_spojeni),': ',mysql_error($id_spojeni),'<br>';
die('Nepodařilo se vykonat SQL dotaz.');
}
MB: ASUS Striker II Formula, CPU: Intel Core™ 2 Duo 3,16GHz, CPU Cooler: Zalman CNPS8700 LED, RAM: 2x1GB Corsair Dominator 1066 MHz DDR II, GPU: ASUS ATI Radeon HD 5770 DDR3 1GB, HDD: WD CG 500GB SATA 300, HDD2: WD CG 2TB SATA 300, Zdroj: Corsair 650W
Zamčeno
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Problém s DD příkazem, co dělám špatně?
    od drobino » » v LiNuX a ostatní alternativní OS
    7 Odpovědi
    10517 Zobrazení
    Poslední příspěvek od drobino

Zpět na „Programování a tvorba webu“