| 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: 15 let
|
|||
0