Autor | Zpráva | ||
---|---|---|---|
comeors Profil |
#1 · Zasláno: 1. 9. 2013, 22:58:58
Dobrý večer,
nemohu pořád korektně dostat výpis. Celou DB mám nastavenou na 'utf8_czech_ci', soubory mám nastavené (v PSPadu) na UTF-8 a v hlavičce souboru také nastavené kódování utf-8. Korektně zapisuji data, korektně se zobrazují v phpmyadminu, ale vypsat je nedokáži, vypíší se jen otázníky... Kde dělám chybu? :( Kód níže, díky za rady! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" href="../style.css" type="text/css" /> <title>Přiznání - Administrace</title> </head> <?php require "../menu.php"; ?> <div class="obsah"> <h1><a href="">Administrace</a></h1> <center><a href="">Výpis přiznání</a> | <a href="overeni.php">Schválení/Smazání přiznání</a> | Přidat FB stránku | Soutěž</center> <div class="prispevek"> <?php $con=mysqli_connect("localhost","***","****","*****"); mysqli_query("SET CHARACTER SET UTF-8"); mysqli_query("SET NAMES UTF-8"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $result = mysqli_query($con,"SELECT * FROM priznani"); echo "<table><tr class='zahlavi'><td>Datum</td><td>Čas</td><td>Přiznání</td><td>Text</td><td>Stav</td><td>A</td></tr>"; while($row = mysqli_fetch_array($result)) { echo "<tr><td>".$row['date'] . "</td><td>" . $row['time']. "</td><td>" . $row['id-fb']. "</td><td style='width: 400px;'>" .$row['text']. "</td><td>" . $row['stav']."</td><td>S<br /> <a target='_blank' href='send.php?id=".$row['id']."'>Schv!</span></td></tr>"; } echo "</table>"; mysqli_close($con); ?> <br /> <small><strong>Nápověda:</strong><br /> A - Akce<br /> S - Smazat<br /> Ano - Schválit<br /> </small> </div> </div> <?php require "../footer.php"; ?> |
||
Someone Profil |
#2 · Zasláno: 1. 9. 2013, 23:00:42
Jen jsem letmo projel asi první 4 řádky a napadá mě toto:
mysqli_query("SET NAMES 'utf8'"); |
||
comeors Profil |
#3 · Zasláno: 1. 9. 2013, 23:14:14
Díky, ale v tom to taky není...Zkoušel jsem více variant. Zkusil jsem dát do DB špatný text (Nové) a ten mi vypisuje dobře, nechápu...
|
||
Beavis Profil |
#4 · Zasláno: 1. 9. 2013, 23:15:44
comeors:
„Celou DB mám nastavenou na 'utf8_czech_ci'“ Celou DB = včetně jednotlivých sloupců? |
||
comeors Profil |
#5 · Zasláno: 2. 9. 2013, 07:27:14
Beavis:
> comeors: > „Celou DB mám nastavenou na 'utf8_czech_ci'“ > Celou DB = včetně jednotlivých sloupců? Díky, ale i kódování jednotlivých sloupců mám nastaveno. Já než někam napíšu, většinou si dost věcí projdu :)) |
||
Taps Profil |
#6 · Zasláno: 2. 9. 2013, 07:32:41
comeors:
Je možné dát odkaz na živou ukázku ? |
||
comeors Profil |
#7 · Zasláno: 2. 9. 2013, 08:05:57
Kódování v celé DB
Ukázka - nikde bohužel online nic nemám, tak jsem jen nahrál konkrétní stránku bez čehokoliv dalšího. Opravdu děkuji za pomoc! :)) |
||
Taps Profil |
#8 · Zasláno: 2. 9. 2013, 08:13:42
comeors:
mají kodování utf nastaveny i souboru, které do stránky načítáš pomocí require ? |
||
comeors Profil |
#9 · Zasláno: 2. 9. 2013, 08:20:34
Taps:
> comeors: > mají kodování utf nastaveny i souboru, které do stránky načítáš pomocí require ? Opravdu od A až do Z jsem nastavil UTF-8 ... |
||
Taps Profil |
#10 · Zasláno: 2. 9. 2013, 08:22:30
comeors:
Zkus text v databázi ještě zaktualizovat, tzn. ručně přepsat |
||
comeors Profil |
#11 · Zasláno: 2. 9. 2013, 10:08:37
To jsem taky předtím zkoušel a nyní také bez výsledků :(
|
||
Kubo2 Profil |
#12 · Zasláno: 2. 9. 2013, 12:10:31
|
||
comeors Profil |
#13 · Zasláno: 2. 9. 2013, 13:14:14
binary? Nechápu, jak?
|
||
Micruss Profil |
#14 · Zasláno: 2. 9. 2013, 16:26:25
Nechybí ti tam náhodou k těm mysqli_query() i odkaz na připojení k db ?.-)))
|
||
comeors Profil |
#15 · Zasláno: 2. 9. 2013, 17:52:17
Micruss:
„Nechybí ti tam náhodou k těm mysqli_query() i odkaz na připojení k db ?.-)))“ Nechápu reakci, připojení funguje :)) |
||
Tori Profil |
#16 · Zasláno: 2. 9. 2013, 18:39:06
comeors:
Micruss má pravdu, řádky 23+24. |
||
Kubo2 Profil |
comeors:
Pridaj si pred pripojenie pomocou mysqli_connect ešte príkaz error_reporting(E_ALL | ~E_STRICT); a potom skript ulož a spusť znovu. Malo by ti vypísať niekoľko chybových hlášok o tom, že prvý parameter mysqli_query nemá byť string, ale mysqli_resource, a že mysqli_query očakáva dva argumenty a ty si mu dvakrát poskytol iba jeden.
Alebo namiesto toho čo som ti napísal vyššie, zmaž riadky 23 a 24 a nahraď ich zápisom: @mysqli_set_charset($con, "binary"); |
||
comeors Profil |
#18 · Zasláno: 2. 9. 2013, 19:35:43
Díky všem a především tobě Kubo2! Vše funguje jak má!
|
||
Kubo2 Profil |
#19 · Zasláno: 2. 9. 2013, 19:39:25
comeors:
Nestojí za reč... Ale hlavne sa poďakuj Tori a Micrussovi, ktorí našiel túto chybu, pretože ja používam výlučne objektový štýl mysqli a preto som zo začiatku aj ja túto chybu prehliadol. |
||
Micruss Profil |
U většiny MySQLi je nutno dát odkaz na připojení mysqli_query($db, "dotaz"); a další kdyžtak mrkni na php.net tam je to napsaný u procedulárního stylu... sám ho někdy používám, avšak u objektového již toto není třeba ;-)
jinak doporučuji si udělat nějakou funkci abys nemusel ke každýmu query psát přípojení k db a dotaz ;), ale jen dotaz |
||
Časová prodleva: 11 let
|
0