Autor | Zpráva | ||
---|---|---|---|
L0K0 Profil |
#1 · Zasláno: 19. 8. 2011, 14:39:00
Dobrý den, můj problém je v tom, že když zavolám nějakou informaci z DB předem říkám a zdůrazňuji nato, že po připojení k mysql mám tento kód "mysql_query("SET NAMES 'utf8'");" struktura řádku je "Text", "utf8_czech_ci". Přímo v databázi mám např. "Hnědý klobouk", dobře je to tam napsané tak jak chci, ale zavolám-li to v php tak mi to udělá toto "Hn?d� klobouk". Prosím o pomoc aby mi to konečně začalo vypisovat české znaky ušetřil bych si tím hodně práce.
DB je taky nastavené na "utf8_czech_ci". |
||
L0K0 Profil |
#2 · Zasláno: 19. 8. 2011, 14:41:21
Soubor je taky v Kódování UTF-8 i v hlavičce. Tak netuším kde by problém mohl být..
|
||
RockFire Profil |
#3 · Zasláno: 19. 8. 2011, 17:27:01
Zkus soubor přeuložit do UTF-8. Například PSPad to občas plete. Pokud to nepomůže, doporučuji dát sem odkaz.
|
||
etexweb Profil |
#4 · Zasláno: 19. 8. 2011, 18:06:08
|
||
L0K0 Profil |
#5 · Zasláno: 19. 8. 2011, 18:09:13
Zkusil jsem, ale nic zde máte ukázku jak to vypadá...
|
||
Davex Profil |
#6 · Zasláno: 19. 8. 2011, 18:29:31 · Upravil/a: Davex
L0K0:
„Přímo v databázi mám např. "Hnědý klobouk"“ Jsou ta data v databázi uložena v kódování UTF-8? Podle výpisu to vypadá, že jsou tam v kódování windows-1250 a ještě nějak podivně. |
||
L0K0 Profil |
#7 · Zasláno: 19. 8. 2011, 18:32:15
L0K0:
„struktura řádku je "Text", "utf8_czech_ci".“ |
||
Davex Profil |
#8 · Zasláno: 19. 8. 2011, 18:43:48
L0K0:
„struktura řádku je "Text", "utf8_czech_ci".“ To ale není odpověď na to, jak a v jakém kódování jsi údaje do databáze dostal. V phpMyAdmin nebo Admineru jsou správně? |
||
L0K0 Profil |
#9 · Zasláno: 19. 8. 2011, 18:45:55
No v phpmyadmin potom jsem vytvořil tabulku, řádky a napsal jsem tam údaje.
|
||
L0K0 Profil |
#10 · Zasláno: 19. 8. 2011, 19:27:50 · Upravil/a: L0K0
Proč je tam tento "�" znak chápu, ale proč je často ze začátku "?" tedy za velký znak s háčkem. ...
|
||
Davex Profil |
#11 · Zasláno: 19. 8. 2011, 20:01:17
Jak vypadá těch pár řádků, kterými se připojuješ k databázi a nastavuješ kódování? Možná chybně voláš
mysql_query("SET NAMES 'utf8'") , protože výstup vypadá jakoby se tento příkaz neprovedl.
|
||
L0K0 Profil |
#12 · Zasláno: 20. 8. 2011, 12:14:24 · Upravil/a: L0K0
C.PHP
$pripojeni = new mysqli('server', 'name', 'pass', 'db'); mysql_query("SET NAMES 'utf8'") INDEX: @include('c.php'); if(!$vysledek = $pripojeni->query("SELECT * FROM polozky WHERE typ='head' ORDER BY id")) while ($radek=$vysledek->fetch_object()) {echo ''.$radek->nazev.'<br>';} |
||
Davex Profil |
#13 · Zasláno: 20. 8. 2011, 15:15:40
L0K0:
Proč voláš mysql_query() , když používáš mysqli ? To bude ta chyba.
|
||
L0K0 Profil |
#14 · Zasláno: 21. 8. 2011, 10:36:25
Takže místo:
mysql_query("SET NAMES 'utf8'") Jsem doplnil: $pripojeni->query("SET NAMES 'utf8'"); A znaky se zobrazují, děkuji všem za pomoc přeji hezký den, můžete lock. |
||
Časová prodleva: 13 let
|
0