Špatně zobrazujicí se diakritika v DB Vyřešeno

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: říjen 08
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvekod PreTox » 20 lis 2009 19:31

Tak to opravdu nevím, já mám taky PSPad, php soubory mám v utf-8, html soubory taky a ukládání znaků s diakritikou do DB mi funguje naprosto bez problémů. Jsi si opravdu jistý, že porovnávání tabulky v DB máš ve formátu utf8_unicode_ci nebo utf8_bin? A znakovou sadu v DB máš nastavenou taky na utf-8? Osobně si myslím, že je problém v tomhle.
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

Reklama
Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: únor 09
Bydliště: Jihlava
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvekod Stene » 20 lis 2009 23:34

A znakovou sadu v DB máš nastavenou taky na utf-8? Osobně si myslím, že je problém v tomhle.


To je přesně co?

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvekod CZechBoY » 20 lis 2009 23:38

V phpMyAdmin nastav jazyk DB na UTF8_czech_ci třeba
ta stránka funguje, teda aspoň mě. Lze tam vkládat hodnoty, ten seznam je co je vše v db.
Heslo do db je taky 123456
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: říjen 08
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvekod PreTox » 20 lis 2009 23:42

Hned na úvodní stránce PHP admina máš tohle: Porovnávání pro toto připojení k MySQL: Měl by jsi tam mít nastaveno utf8 bin, unicode nebo czech.
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: únor 09
Bydliště: Jihlava
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvekod Stene » 20 lis 2009 23:45

Mám chuť Vám dát přístupové udaje na FTP.. Ale můj kód je příšerný a málo kdo by se v něm vyznal :-(

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvekod CZechBoY » 20 lis 2009 23:59

Napiš sem kousek toho kódu jak se připojuješ k databázi a hlavičku dokumentu.
i hosting, např. tady na ic.cz jsem musel dát to set names UTF8 nebo jak je to :)
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: únor 09
Bydliště: Jihlava
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvekod Stene » 21 lis 2009 09:22

Kód: Vybrat vše

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>HP - web</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" media="all" type="text/css" href="menu_style.css" />

<?php
 $spojeni = mysql_connect("aaa","aaa","aaa" ) or die ('Spatne zadane udaje (asi heslo, server nebo jmeno.) v inc/db.php');
   mysql_select_db("aaa", $spojeni) or die ('Spatne zadana databaze v inc/db.php');
   MySQL_Query("SET CHARACTER SET utf8");
   mysql_query("SET NAMES 'utf8'");

?>

Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: únor 09
Bydliště: Jihlava
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvekod Stene » 21 lis 2009 18:01

Píše se charset=utf-8 nebo charset=utf8???

Uživatelský avatar
Myloš
Master Level 8.5
Master Level 8.5
Příspěvky: 6990
Registrován: duben 06
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline

Re: Špatně zobrazujicí se diakritika v DB

Příspěvekod Myloš » 21 lis 2009 18:16

<meta http-equiv="content-type" content="text/html; charset=utf-8">
  • Než položíte dotaz, nejprve se ptejte strejdy Gůůgla.
  • Výňatek z pravidel fóra PC-HELP:
    • Název tématu zvolte takový, aby co nejvýstižněji charakterizoval obsah tématu.
    • Nesnažte se řešit jiný problém (i když podobný) v jednom tématu. Raději založte nové téma.
  • Mýliti se je Myloš. ;-)

Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: únor 09
Bydliště: Jihlava
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvekod Stene » 22 lis 2009 15:52

tak to mám dobře...

Do DB vkládám příspěvky takto:

Kód: Vybrat vše

<?php
$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.');
}
$name = $_POST['name'];
$mail = $_POST['mail'];
$message = $_POST['message'];
$sql = "INSERT INTO book(write_time,name,mail,message)"
." VALUES(NOW(),"
."'".mysql_escape_string($name)."',"
."'".mysql_escape_string($mail)."',"
."'".mysql_escape_string($message)."')"
;
$id_vysledku = mysql_query($sql,$id_spojeni);
if (!$id_vysledku)
   MySQL_Query("SET CHARACTER SET utf8");
   mysql_query("SET NAMES 'utf8'");
{
  echo mysql_errno($id_spojeni),': ',mysql_error($id_spojeni),'<br>';
  die('Nepodařil se SQL příkaz.');
}
echo '';
mysql_close($id_spojeni);
?>

PreTox
Level 2
Level 2
Příspěvky: 151
Registrován: říjen 08
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvekod PreTox » 22 lis 2009 20:40

No tak už je jasné, kde je chyba..

Tohle musíš dát za každé připojení k databázi.

Kód: Vybrat vše

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


Tzn. napiš to takhle:

Kód: Vybrat vše

    <?php
    $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'");



    $name = $_POST['name'];
    $mail = $_POST['mail'];
    $message = $_POST['message'];
    $sql = "INSERT INTO book(write_time,name,mail,message)"
    ." VALUES(NOW(),"
    ."'".mysql_escape_string($name)."',"
    ."'".mysql_escape_string($mail)."',"
    ."'".mysql_escape_string($message)."')"
    ;
    $id_vysledku = mysql_query($sql,$id_spojeni);
    if (!$id_vysledku)
       MySQL_Query("SET CHARACTER SET utf8");
       mysql_query("SET NAMES 'utf8'");
    {
      echo mysql_errno($id_spojeni),': ',mysql_error($id_spojeni),'<br>';
      die('Nepodařil se SQL příkaz.');
    }
    echo '';
    mysql_close($id_spojeni);
    ?>
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
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Špatně zobrazujicí se diakritika v DB

Příspěvekod CZechBoY » 22 lis 2009 20:42

Stene: však si psal, že tam to nastavení kódování k databázi máš.
Já ti tak věřil :)
Samozřejmě, vždy když se připojuješ k DB tak musíš nastavit v jakém kódování to vkládáš, proto jsme také založil tu stránku :)
Můžeš dát za vyřešeno si myslím.
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


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Problém s DD příkazem, co dělám špatně? Příloha(y)
    od drobino » 13 pro 2024 19:21 » v LiNuX a ostatní alternativní OS
    7
    5830
    od drobino Zobrazit poslední příspěvek
    22 pro 2024 12:47
  • PS5 se odmítá připojit k 5GHz síti - hlásí špatné heslo
    od Renee » 19 srp 2024 09:13 » v Vše ostatní (inet)
    14
    7631
    od Renee Zobrazit poslední příspěvek
    19 srp 2024 14:01

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

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti