Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 28 ] 
AutorSpráva
Offline

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

Registrovaný: 23.12.10
Prihlásený: 06.10.15
Príspevky: 331
Témy: 130
Bydlisko: 054 01 Levoča
Príspevok NapísalOffline : 30.12.2010 17:27

Ahojte. Mám jeden problém ktorému nemôžem prísť na koreň. Problém je v tom že táto otázka je širokospektrálna. Mám chat v ktorom odosielam správu cez ajax ktorý pošle požiadavku php ktorí ju odošle do sql a zároveň vypíše všetky správy "pošli ich ajaxu" ten ich príjime a vypíše na stránke. Všetko by fungovalo až na to, že sa nezachová diakritika.
Živá ukážka: http://www.blazej44800.php5.sk
Meno: aké chcete
Heslo: pcforum

Otázka znie: kde všade treba nastavovať chrsety abo som tento problém vyrisiešil? pri všetkých scriptoch ich mám v mete tak isto

Ďakujem za každý nápad.
P.S. ten chat je vovývoji







_________________
ASUS EeePc 1002HA 1GB RAM 120GB HDD Intel Atom N270 1,60GHz
Offline

Užívateľ
Užívateľ
Problém s diakritikou

Registrovaný: 03.04.08
Prihlásený: 10.12.19
Príspevky: 4667
Témy: 37
Bydlisko: Trnava
Príspevok NapísalOffline : 30.12.2010 17:29

este uloz aj subory v spravnom kodovani + databaza







_________________
Hmmm .... Hrošíček ... [Homer]
Offline

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

Registrovaný: 23.12.10
Prihlásený: 06.10.15
Príspevky: 331
Témy: 130
Bydlisko: 054 01 Levoča
Príspevok Napísal autor témyOffline : 30.12.2010 17:33

Všade na začiatku súboru mám:
Kód:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=windows-1250">


V každom PHP mám:
Kód:
header('Content-Type: text/html; charset=windows-1250');


Každý script sa začína:
Kód:
<SCRIPT charset="widnows-1250">



Ešte neviem kde čo môže byť







_________________
ASUS EeePc 1002HA 1GB RAM 120GB HDD Intel Atom N270 1,60GHz
Offline

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

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 30.12.2010 17:33

no a databaza ti pracuje v akej kodovej stranke ?


Offline

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

Registrovaný: 23.12.10
Prihlásený: 06.10.15
Príspevky: 331
Témy: 130
Bydlisko: 054 01 Levoča
Príspevok Napísal autor témyOffline : 30.12.2010 17:34

Súbor na spojenie s db vyzerá takto:
Kód:
<?php
$link = mysql_pconnect ("localhost" , "root", "heslo") or die ("Nepodarilo sa spojiť zo serverom");
$db = mysql_select_db("chat", $link) or die ("Spojenie z databázov nefunguje");
// nastavenie znakovej sady
@mysql_query ("SET NAMES CP1250");
?>







_________________
ASUS EeePc 1002HA 1GB RAM 120GB HDD Intel Atom N270 1,60GHz
Offline

Čestný člen
Čestný člen
Problém s diakritikou

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 30.12.2010 17:37

Toto sprav:
don jebot píše:
este uloz aj subory v spravnom kodovani + databaza


Offline

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

Registrovaný: 23.12.10
Prihlásený: 06.10.15
Príspevky: 331
Témy: 130
Bydlisko: 054 01 Levoča
Príspevok Napísal autor témyOffline : 30.12.2010 17:39

Toto všetko mám. Každú bunku mám nastavenú na cp1250_general_ci. I celú databázu. A ten súbor to ako myslíte? Tu META hlavičku či niečo iné?







_________________
ASUS EeePc 1002HA 1GB RAM 120GB HDD Intel Atom N270 1,60GHz
Offline

Užívateľ
Užívateľ
Problém s diakritikou

Registrovaný: 03.04.08
Prihlásený: 10.12.19
Príspevky: 4667
Témy: 37
Bydlisko: Trnava
Príspevok NapísalOffline : 30.12.2010 17:47

priamo v textovom editore si pozri kodovanie suboru pravdepodobne ho mas na UTF nastaveny.







_________________
Hmmm .... Hrošíček ... [Homer]
Offline

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

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 30.12.2010 17:48

blazej44800 ako vyzeraju data v databaze ? su spravne ?


Offline

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

Registrovaný: 23.12.10
Prihlásený: 06.10.15
Príspevky: 331
Témy: 130
Bydlisko: 054 01 Levoča
Príspevok Napísal autor témyOffline : 30.12.2010 17:56

coldak píše:
blazej44800 ako vyzeraju data v databaze ? su spravne ?
data sú taktiež v chybnej diakritike. Zistil som, že problém je v ajaxe. Ako mu mám nastaviť charset?







_________________
ASUS EeePc 1002HA 1GB RAM 120GB HDD Intel Atom N270 1,60GHz
Offline

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

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 30.12.2010 18:01

nenastavis, pokial detekuje non ascii znaky tak pouzije escapeovanie ale interne pracuje iba s utf8, takze bud si to nejak osetris na strane php alebo vsetko prerobis na utf8


Offline

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

Registrovaný: 23.12.10
Prihlásený: 06.10.15
Príspevky: 331
Témy: 130
Bydlisko: 054 01 Levoča
Príspevok Napísal autor témyOffline : 30.12.2010 18:03

Inak by to nešlo? Prerábka na UTF-8 by bola asi veľmi rozsiahla.







_________________
ASUS EeePc 1002HA 1GB RAM 120GB HDD Intel Atom N270 1,60GHz
Offline

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

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 30.12.2010 18:06

no ved ti hovorim ze si to mozes skusit konvertovat na strane php


Offline

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

Registrovaný: 23.12.10
Prihlásený: 06.10.15
Príspevky: 331
Témy: 130
Bydlisko: 054 01 Levoča
Príspevok Napísal autor témyOffline : 30.12.2010 18:11

No skúsil som to ale teraz sa mi zobrazuje i meno a čas blbo.

P.S. všetko to skúšam na HDD. Na tej stránke sa to nemení







_________________
ASUS EeePc 1002HA 1GB RAM 120GB HDD Intel Atom N270 1,60GHz
Offline

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

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 30.12.2010 18:38

no ale ved nekonvertuj meno a cas, ale iba text spravy


Offline

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

Registrovaný: 23.12.10
Prihlásený: 06.10.15
Príspevky: 331
Témy: 130
Bydlisko: 054 01 Levoča
Príspevok Napísal autor témyOffline : 30.12.2010 18:45

A aky prikaz mam pouzit?







_________________
ASUS EeePc 1002HA 1GB RAM 120GB HDD Intel Atom N270 1,60GHz
Offline

Čestný člen
Čestný člen
Problém s diakritikou

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 30.12.2010 18:48

/ajax_function.php?akcia=chat vypluva text v UTF-8, tam je problem. Skontroluj si, ci je tento subor ulozeny vo Windows-1250, to sa robi v textovom editore (niektore editory to maju v menu Format, nenapisal si, aky pouzivas). Okrem toho si otvor phpMyAdmina, prezri strukturu tabulky s datami a pozri sa, ci naozaj je v kodovani cp1250.
Mimochodom atribut charset elementu <script> je zbytocny.


Offline

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

Registrovaný: 23.12.10
Prihlásený: 06.10.15
Príspevky: 331
Témy: 130
Bydlisko: 054 01 Levoča
Príspevok Napísal autor témyOffline : 30.12.2010 18:51

Súbor ajax_function.php má na začiatku header('Content-Type: text/html; charset=windows-1250');
Ale ono to preto vypise vsetko v utf-8 preto lebo i v DB. Pritom do DB zapisuje ten subor ajax_function. a on kodovanie ma. Problem je, že prichadzaju do ajax_function zle data z ajaxu







_________________
ASUS EeePc 1002HA 1GB RAM 120GB HDD Intel Atom N270 1,60GHz
Offline

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

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 30.12.2010 19:02

mozes sem dat zdrojak ajax_function.php ?


Offline

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

Registrovaný: 23.12.10
Prihlásený: 06.10.15
Príspevky: 331
Témy: 130
Bydlisko: 054 01 Levoča
Príspevok Napísal autor témyOffline : 30.12.2010 19:03

Kód:
<? //kontrola
session_start();
header('Content-Type: text/html; charset=windows-1250');
include "db.php"; $sid = session_id(); $ip = $_SERVER["REMOTE_ADDR"];

$result_user = mysql_query("SELECT * FROM user WHERE id=\"".$_SESSION["id"]."\"", $link) or die ("Chyba!");
$user = mysql_fetch_array($result_user);

$result_room = mysql_query("SELECT * FROM room WHERE id=\"".$_SESSION["miestnost"]."\"", $link) or die ("Chyba!");
$room = mysql_fetch_array($result_room);

if ($_SESSION["id"] == $user["id"] and $_SESSION["sid"] == $sid and $_SESSION["ip"] == $ip and $_SESSION["miestnost"] == $user["miestnost"])
{


if ($_REQUEST["akcia"] == "history") {mysql_query("UPDATE $room[tabulka] SET view=\"0\" WHERE view=\"1\"", $link);}
if ($_REQUEST["akcia"] == "odoslat" and $_REQUEST["text"] != "") {

  $cas = time();
  $ip = $_SERVER["REMOTE_ADDR"];
  $od = $user["meno"];
  $text = $_REQUEST["text"];
  $text = nl2br($text);

  $oprava = "INSERT INTO $room[tabulka] (od,ip,cas,text,view)VALUES ('$od','$ip','$cas','$text','1')";
  $dooprava = mysql_query($oprava, $link) or die ("Chyba!");

  $casformat = date("d.m.Y H:i:s", $cas);
  $idmessage = mysql_insert_id();

}
if ($_REQUEST["akcia"] == "chat") {
    $last_id = $_REQUEST["last_id"];
    $dotaz = mysql_query("SELECT * FROM $room[tabulka] WHERE view = \"1\" ORDER BY id desc", $link);
    while ($vytah = mysql_fetch_array($dotaz)):
     $vysledok = $vysledok.'<DIV class=glass-item id='.$vytah["id"].'><TABLE><TR><TD width=140><B>'.$vytah["od"].'</B><BR>'.date("d.m.Y H:i:s", $vytah["cas"]).'</TD><TD>'.$vytah["text"].'</TD></TR></TABLE></DIV>';
    endwhile;
    echo $vysledok;

}

if ($_REQUEST["akcia"] == "user")
{
 $i = 0;
 $vytiahnutie = mysql_query("SELECT * FROM `user` WHERE miestnost=\"".$_SESSION["miestnost"]."\"", $link);
 while ($vytah = mysql_fetch_array($vytiahnutie)):
   $vysledok = $vysledok.'<DIV class=user><LI>'.$vytah["meno"].'</LI></DIV>';
   $i++;
 endwhile;
  $vysledok = "<UL>".$vysledok."</UL>";
  echo "{ \"vysledok\": \"$vysledok\", \"ludi\": \"$i\" }";
}

if ($_REQUEST["akcia"] == "aktivita")
{
$time = time();
$oprava = "UPDATE user SET aktivita=\"".$time."\" WHERE id=\"".$user["id"]."\"";
mysql_query($oprava, $link) or die ("Chyba!");
}



}
else {echo "Session ERROR - hodnoty sa nezhodujú!!!";}
?>


Dúfam že tu nie sú žiadne dôveryhodné data







_________________
ASUS EeePc 1002HA 1GB RAM 120GB HDD Intel Atom N270 1,60GHz
Offline

Čestný člen
Čestný člen
Problém s diakritikou

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 30.12.2010 19:17

Dobre, este raz ti to zhrniem, napisem posledny svoj prispevok do tejto temy. Mna nebavi dookola omielat to iste, ked polovicu kazdeho prispevku odignorujes.
  • Je velka chyba mat v aplikacii dve rozne kodovania. Prerob system tak, aby bolo vsade jedno a to iste kodovanie, najlepsie UTF-8, ale pokial ti vyhovuje Windows-1250, moze byt. Vsade, to znamena nasledovne:
  • Kazdy jeden subor musi byt ulozeny v tvojom kodovani. Co to znamena a ako sa to robi, si bud vygoogli, alebo pohladaj v svojom editore, alebo sa opytaj. Stale si ale nenapisal, v com pises kody. Taky Notepad++ alebo PSPad ma volbu kodovania v menu Format. Opakujem, kazdy jeden subor.
  • To iste kodovanie uvedies v <meta>, alebo v Content-type HTTP hlavicke pomocou fcie header().
  • V takom istom kodovani sa musia ukladat data do databazy. Otvor si strukturu tabulky v phpMyAdmine a nastav to spravne - daj pozor, ze rozlicne kodovania sa daju nastavit pre celu databazu, jednu tabulku, ale aj jeden stlpec v tabulke. Bude sa hodit, ked zmazes zaznamy, ktore boli v tabulke predtym (TRUNCATE TABLE tabulka).
  • Prva query samozrejme SET NAMES tvojekodovanie.
  • Zbav sa akychkolvek zbytocnosti ako PHP fcii na konverziu kodovani alebo atributov charset v <script>e.
Snad som nezabudol na nic. Komunikacia Ajaxom respektuje kodovanie HTML suboru, takze v tomto problem byt nemoze. Malo by ti vsetko fungovat, ak nebudes ohrnat nosom, ze to a to by bolo rozsiahle, tak to neurobim, a ak nebudes preskakovat niektore body z dovodu, ze nevies, ako sa to robi. Drzim palce.


Offline

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

Registrovaný: 23.12.10
Prihlásený: 06.10.15
Príspevky: 331
Témy: 130
Bydlisko: 054 01 Levoča
Príspevok Napísal autor témyOffline : 30.12.2010 19:23

OK. Inak robím v Golden HTML Editore 4.8.3. Český freeware WYSIWYG editor. V ňom MÁM nastavené CP1250







_________________
ASUS EeePc 1002HA 1GB RAM 120GB HDD Intel Atom N270 1,60GHz
Offline

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

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 30.12.2010 19:37

Kód:
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=iso8859-2">
</head>
<body>
<script>alert(escape('ľščťžýáíé'));</script>
</body>
</html>

ulozene na disk ako iso8859-2 a po spusteni mi alert zobrazi:
%u013E%u0161%u010D%u0165%u017E%FD%E1%ED%E9
tupy JS netusi ze ascii kod podla iso8859-2 znaku ľ je %BE a nie %u013E


Offline

Čestný člen
Čestný člen
Problém s diakritikou

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 30.12.2010 19:46

coldak, nie Javascript je tupy. "The escape function returns the hexadecimal encoding of an argument in the ISO Latin character set." - koduje sa to nezavisle od kodovania. Ak chces ziskat kod znaku zo stringu, pouzi metodu String.charCodeAt(). Navyse iso8859-2 nie je platny zapis kodovania a nemusi fungovat v niektorych prehliadacoch, spravny zapis je iso-8859-2.


Offline

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

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 30.12.2010 19:51

ja nechcem ziskat ascii kod znaku ale poukazat ze JS nie vzdy akceptuje kodovanie stranky . ajax pri odosielani dat tiez vykonava escapeovanie a tudiz windows1250 prevadza na unicode escape sequencie ktore si php nespravne konvertuje a do db zapisuje bludy


Offline

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

Registrovaný: 23.12.10
Prihlásený: 06.10.15
Príspevky: 331
Témy: 130
Bydlisko: 054 01 Levoča
Príspevok Napísal autor témyOffline : 30.12.2010 20:32

Čiže aké je riešenie? Mám taký pocit, že už aj vy máte v tom chaos.







_________________
ASUS EeePc 1002HA 1GB RAM 120GB HDD Intel Atom N270 1,60GHz
Offline

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

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 30.12.2010 21:32

v ajaxe pouzivas get alebo post ?


Offline

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

Registrovaný: 23.12.10
Prihlásený: 06.10.15
Príspevky: 331
Témy: 130
Bydlisko: 054 01 Levoča
Príspevok Napísal autor témyOffline : 30.12.2010 22:50

Na odoslanie spravy do DB post

// pridané po 1 hodine 3 minútach od posledného príspevku

Problém vyrišený. Problém bol tam, že do php scriptu prichádzal text v kódovaní utf-8. Ten text stačilo preformátovať do windows-1250 a bolo to
Kód:
$text = iconv("UTF-8","CP1250", $text);


Coldak: ďakujem







_________________
ASUS EeePc 1002HA 1GB RAM 120GB HDD Intel Atom N270 1,60GHz
Odpovedať na tému [ Príspevkov: 28 ] 


Podobné témy

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

v Operačné systémy Microsoft

0

289

02.09.2010 10:40

funkye Zobrazenie posledných príspevkov

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

v Redakčné systémy

4

851

06.06.2007 13:31

Flety Zobrazenie posledných príspevkov

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

v Ovládače

10

1555

28.01.2008 15:47

I-pop Zobrazenie posledných príspevkov

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

v Operačné systémy Microsoft

5

1284

04.11.2007 9:56

Nexus Zobrazenie posledných príspevkov

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

v Databázy

19

2651

09.05.2008 19:34

capricorn7 Zobrazenie posledných príspevkov

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

v Operačné systémy Microsoft

0

360

19.12.2009 18:32

h3r0 Zobrazenie posledných príspevkov

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

v Databázy

18

2424

23.08.2008 16:36

chrono Zobrazenie posledných príspevkov

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

v Webhosting a servery

0

694

07.06.2010 19:14

NikonD5000 Zobrazenie posledných príspevkov

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

v PHP, ASP

10

646

28.08.2008 22:08

soldi3r Zobrazenie posledných príspevkov

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

v Antivíry a antispywary

1

425

04.04.2008 15:36

petos Zobrazenie posledných príspevkov

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

v Redakčné systémy

12

1063

13.04.2007 15:53

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. trieda phpexcel -> problém s diakritikou

v PHP, ASP

1

263

11.02.2014 9:36

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Problem s diakritikou. a tiez ako zrusit scroll na stranke.

v HTML, XHTML, XML, CSS

7

1453

05.08.2007 22:52

kajbo Zobrazenie posledných príspevkov

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

v PHP, ASP

2

465

07.07.2009 10:34

pogo Zobrazenie posledných príspevkov

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

v Redakčné systémy

19

1408

06.12.2006 22:50

AVAST Zobrazenie posledných príspevkov

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

v PHP, ASP

4

336

12.10.2012 13:36

kurtulik1 Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra