Autor | Zpráva | ||
---|---|---|---|
TomasJ Profil |
#1 · Zasláno: 29. 11. 2010, 19:06:51 · Upravil/a: TomasJ
Zdravím, mám problém s manuálním čtením diakritiky v DB. Na webu vložím novinku v kódování UTF-8, v PMA mám znakovou sadu utf8_general_ci a porovnávání to samé. Ovšem místo znaků diakritiky se ukazují jiné, podivné znaky. ale při čtení novinky z webu, se na webu vypíše normálně. Jen prostě v DB jsou podivné znaky.
Např.: z DB čtu: Ä› Å¡ Ä Å™ ž ý á à é ó ň Å¥ vkládal jsem to z webu, a tam se to při čtení zobrazí správně původní vložené znaky: ě š č ř ž ý á í é ó ň ť Nevíte jak přečíst obsah v DB i s diakritikou? |
||
xmark Profil |
#2 · Zasláno: 29. 11. 2010, 19:16:43 · Upravil/a: xmark
|
||
TomasJ Profil |
#3 · Zasláno: 29. 11. 2010, 20:49:31 · Upravil/a: TomasJ
xmark:
Na webu odešlu novinku, text: ě š č ř ž ý á í é ó ň ť Na webu se v novinkách vypisuje text: ě š č ř ž ý á í é ó ň ť V databázi je text: Ä› Å¡ Ä Å™ ž ý á à é ó ň Å¥ Kódování a porovnávání v DB: UTF-8 Kódování stránky: UTF-8 Zkoušel jsem podle tebou postnutého odkazu, pořád to samé |
||
__construct Profil |
#4 · Zasláno: 29. 11. 2010, 20:58:34
TomasJ:
Hneď ako sa pripojíš v skripte k DB potrebuješ nastaviť kódovanie pre aktuálne pripojenie. Netreba 4 dotazy ako píše xmark ale malo by stačiť mysql_set_charset() / mysqli::set_charset
|
||
TomasJ Profil |
#5 · Zasláno: 29. 11. 2010, 21:05:04
__construct:
I podle tebe jsem zkoušel, zase jsem neuspěl. To samé jako je v [#3] |
||
TomasJ Profil |
#6 · Zasláno: 29. 11. 2010, 21:08:29
Ukážu kód:
<?php include('settings.php'); $open = mysql_connect($Host, $User, $Pass); mysql_select_db($DB, $open); mysql_set_charset("utf-8"); $read = mysql_query("SELECT * FROM news ORDER BY time DESC"); $rows = mysql_num_rows($read); if($rows){ while($row = mysql_fetch_array($read)) { echo'<div class="novelty"> <div class="title">'.$row['title'].'</div> <div class="msg">'.$row['message'].'</div> <div class="time">'.$row['time'].'</div> </div>'; } }else{echo '<div class="novelty"><div class="title">Upozornění</div><div class="msg">Žádná novinka zatím není napsána.</div><div class="time">'.Date("d.m. Y - H:i:s").'</div></div>';} mysql_close($open); ?> |
||
__construct Profil |
#7 · Zasláno: 29. 11. 2010, 21:19:16
TomasJ:
Máš tam chybu - mysql_set_charset('utf8'); // bez pomlčky
|
||
TomasJ Profil |
#8 · Zasláno: 29. 11. 2010, 21:23:57 · Upravil/a: TomasJ
__construct:
Děkuji, šlo to správně, zapomněl jsem přidat do zapisovacího scriptu utf8. Díky vyřešeno. |
||
__construct Profil |
#9 · Zasláno: 29. 11. 2010, 21:30:46
Správne sa to naozaj píše
"utf8" (viz. mysql dokumentácia)
Riešenie je tu .. chce to ale trošku angličtiny. Tu je článok o češtine a slovenčine na interval.cz |
||
xmark Profil |
#10 · Zasláno: 29. 11. 2010, 21:32:09
TomasJ:
„zapomněl jsem přidat do zapisovacího scriptu“ Kdybys měl řádky 2-4 přímo v settings.php, nemohlo by se stát, že to někde zapomeneš. |
||
Časová prodleva: 13 let
|
0