[ Príspevkov: 13 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 28.10.15
Prihlásený: 09.10.17
Príspevky: 26
Témy: 4 | 4
NapísalOffline : 28.10.2015 16:06 | php - diakritika

Zdravim, potreboval by som poradit, mam len jednoduchy kod a chcem aby na stranke sa zobrazoval nejaky text z databazy. To mi uz funguje, ale zle sa mi zobrazuje diakritika. Na ftp mam len tieto dva subory,

db.php

Kód:
<?php
 
   $con=mysqli_connect("**","***","***","***");
               
   if (mysqli_connect_errno()) {
      echo "Failed to connect to MySQL: ".mysqli_connect_error();

   }
     
?>


a index.php

Kód:
<?php
   
 require_once 'db.php';
 
  $query = "SELECT * FROM `quotes` ORDER BY rand() LIMIT 1";

  mysqli_set_charset($con, "utf8"); 

  $result = mysqli_query($con, $query);

    while($row = mysqli_fetch_array($result)) {
            print(json_encode($row['quotes']));
    }
 
?>


v mysql som si nastavil tiez utf-8, ale stale sa mi nezobrazuje diakritika. Viete mi poradit co treba zmenit, ci je problem v mysql, alebo nieco zmenit v kode?
Kód:
http://prntscr.com/8wavao


Dakujem


Offline

Skúsený užívateľ
Skúsený užívateľ
php - diakritika

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 28.10.2015 16:11 | php - diakritika

Nastav si UTF8 aj v html, chýba ti doctype a taktiež sa ubezpeč, že súbory máš takisto kódované v UTF8 a nie napr windows-1250.


_________________
C#, PHP, ...
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1719
Témy: 0 | 0
NapísalOffline : 28.10.2015 16:16 | php - diakritika

A nezabudni DB povedať, že s ňou chceš komunikovať v UTF-8 (v mysqli je na to funkcia mysqli_set_charset).


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 28.10.15
Prihlásený: 09.10.17
Príspevky: 26
Témy: 4 | 4
Napísal autor témyOffline : 28.10.2015 16:18 | php - diakritika

Subory mam v UTF8. Html subor tam nemam, je tam iba index.php. Ak ten zmenim na html, a pridam tam doctype, head, body... tak potom sa mi nezobrazuje ziadny text.

skusal som takto

Kód:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>

php kod z index.php

</body>
</html>


*chrono, to set charset tam mam, v index.php


Offline

Užívateľ
Užívateľ
php - diakritika

Registrovaný: 21.09.13
Prihlásený: 11.12.17
Príspevky: 2065
Témy: 71 | 71
Bydlisko: Považská By...
NapísalOffline : 28.10.2015 20:21 | php - diakritika

Kód:
<!doctype html>
<html>
<head>...</head>
<?php include('./index.php');  ?>
.....
</html>


_________________
Nesnívaj svoj život, ale ži svoj sen.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 28.10.15
Prihlásený: 09.10.17
Príspevky: 26
Témy: 4 | 4
Napísal autor témyOffline : 28.10.2015 20:40 | php - diakritika

aj ked to dam takto, do index.html, tak sa nic nezobrazi... Ak otvorim .../index.php, tak to ide, ale zla diakritika


Kód:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>

<?php include('./index.php');  ?>

</body>
</html>


Offline

Skúsený užívateľ
Skúsený užívateľ
php - diakritika

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 28.10.2015 20:45 | php - diakritika

Kraliček, prosím ťa...

1vlado3, keď si pozrieš dáta napr cez phpmyadmin, uložené sú správne?


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 28.10.15
Prihlásený: 09.10.17
Príspevky: 26
Témy: 4 | 4
Napísal autor témyOffline : 28.10.2015 20:55 | php - diakritika

tak vyzera ze vsetko je OK, kedze aj text sa mi normalne zobrazuje, ak to nedam cez html, len ta diakritika...
ako vidno aj na tomto screenshote, collation mam nastavene utf8_general_ci...

Kód:
http://prntscr.com/8wavao


Offline

Skúsený užívateľ
Skúsený užívateľ
php - diakritika

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 28.10.2015 21:11 | php - diakritika

Ak nemáš server nastavený tak, aby .html koncovku interpretoval ako php skript, tak samozrejme to nejde. Keď spúšťaš priamo index.php, ktorý html hlavičku neobsahuje, samozrejme to vypľuje blbú diakritiku. Tipujem že browser berie ako default windows-1250, a teda keď mu pošleš utf8 bez doctype či akýchkoľvek iných info, zobrazí to zle.

Nerozumiem, prečo includuješ index.php do index.html.. Však použi len index.php....

Kód:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<?php
   
 require_once 'db.php';
 
  $query = "SELECT * FROM `quotes` ORDER BY rand() LIMIT 1";

  mysqli_set_charset($con, "utf8");

  $result = mysqli_query($con, $query);

    while($row = mysqli_fetch_array($result)) {
            print(json_encode($row['quotes']));
    }
 
?>
</body>
</html>


Btw, ten tvoj screenshot zobrazuje len kódovanie stĺpca. Chcel som vidieť ako vyzerajú dáta v tabuľke, priamo v nástroji na management databázy (phpmyadmin predpokladám). Lebo ono môžeš mať UTF-8 stĺpec, ale keď už do toho pcháš dáta v inom kódovaní, vieš čo to asi pomôže...


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 28.10.15
Prihlásený: 09.10.17
Príspevky: 26
Témy: 4 | 4
Napísal autor témyOffline : 28.10.2015 21:17 | php - diakritika

Dal som to do toho php, ale stale sa to zobrazuje zle... V prehliadaci som si dal aj utf-8...
ale inak, mozno som to mohol spomenut skor... nezobrazuje mi znaky otazniky, alebo ine znaky, ale napr. takto

Citácia:
Pripome\u0148te d\u00f4vod


Offline

Skúsený užívateľ
Skúsený užívateľ
php - diakritika

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 28.10.2015 22:16 | php - diakritika

Aha......

Tak si pozri teda toto: http://php.net/manual/en/function.json-encode.php
Prečo to prechádzaš encode funkciou? Tá ti práve spôsobuje toto zakódovanie.


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 28.10.15
Prihlásený: 09.10.17
Príspevky: 26
Témy: 4 | 4
Napísal autor témyOffline : 29.10.2015 0:01 | php - diakritika

Tak konecne po dlhsej dobe sa mi to podarilo vyriesit, nakoniec bol problem s tym json, ale stacilo pridat toto JSON_UNESCAPED_UNICODE...


Kód:
<?php
   
 require_once 'db.php';         
  mysqli_set_charset($con, "utf8"); 
  $query = "SELECT * FROM `quotes` ORDER BY rand() LIMIT 1";
       
  $result = mysqli_query($con, $query);

    while($row = mysqli_fetch_array($result)) {
           json_encode($row, JSON_UNESCAPED_UNICODE);
            echo $row['quotes'];
    }
  ?>


Dakujem velmi pekne vsetkym za ochotu a pomoc


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1719
Témy: 0 | 0
NapísalOffline : 29.10.2015 10:31 | php - diakritika

Ak to používaš ako JSON, tak nevadí, že sú tam escapeované aj Unicode znaky (pretože prehliadač vie, ako to interpretovať). Ak to nepoužívaš ako JSON, tak netuším, prečo si myslíš, že tam máš používať json_encode funkciu.


 [ Príspevkov: 13 ] 


php - diakritika



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Diakritika v PHP

v PHP, ASP

1

1303

14.08.2009 19:25

Snacker

V tomto fóre nie sú ďalšie neprečítané témy.

Nefunkčná diakritika v PHP

v PHP, ASP

6

193

22.05.2014 23:17

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

Diakritika mailov v PHP

v PHP, ASP

9

441

23.05.2010 11:39

petanorech

V tomto fóre nie sú ďalšie neprečítané témy.

PHP kontaktny formular a diakritika

v PHP, ASP

2

134

09.03.2015 20:43

walther

V tomto fóre nie sú ďalšie neprečítané témy.

diakritika v maile z webu caz PHP

v PHP, ASP

6

725

10.07.2007 19:01

Tominator

V tomto fóre nie sú ďalšie neprečítané témy.

diakritika

v HTML, XHTML, XML, CSS

9

578

18.08.2010 9:50

locksmith

V tomto fóre nie sú ďalšie neprečítané témy.

diakritika

v HTML, XHTML, XML, CSS

13

322

01.12.2010 14:18

coldak

V tomto fóre nie sú ďalšie neprečítané témy.

Diakritika

v Delphi, Visual Basic

1

516

05.05.2009 20:20

programator

V tomto fóre nie sú ďalšie neprečítané témy.

Diakritika

v HTML, XHTML, XML, CSS

1

257

25.10.2009 20:58

don jebot

V tomto fóre nie sú ďalšie neprečítané témy.

Diakritika

v HTML, XHTML, XML, CSS

13

546

03.12.2008 14:12

exoomer

V tomto fóre nie sú ďalšie neprečítané témy.

Diakritika

v Ostatné

8

555

22.10.2010 22:10

Rammstein

V tomto fóre nie sú ďalšie neprečítané témy.

Diakritika

v Redakčné systémy

19

1122

06.05.2007 10:54

p360t

V tomto fóre nie sú ďalšie neprečítané témy.

Diakritika

v Databázy

11

822

30.08.2009 20:30

bmatias

V tomto fóre nie sú ďalšie neprečítané témy.

Diakritika

v Databázy

2

506

30.03.2009 22:22

22adamko

V tomto fóre nie sú ďalšie neprečítané témy.

Diakritika

v HTML, XHTML, XML, CSS

6

641

25.04.2007 16:54

p360t

V tomto fóre nie sú ďalšie neprečítané témy.

PHP programátor - PHP, MySQL, jQuery,X)Html/CSS

v Ponuka práce

0

814

02.05.2011 12:08

magicmedia



© 2005 - 2017 PCforum, edited by JanoF