» »

[PHP] Nepravilen prikaž šumnikov v select tag-ih

[PHP] Nepravilen prikaž šumnikov v select tag-ih

Glodko ::

Imam opisano težavo. Uporabljam AJAX da posodobim samo del ("div") spletne strani. Težava je ker vsebino dobim iz baze (mySQL) in vrednosti vstavim v html "select" tag. Ponavadi (pri običajnih php fajlih, kjer je noter še precej html-ja) težavo rešim tako da v "head" tagu definiram "charset" 1250. Pri uporabi AJAX-a pa omenjene "select" tage zgeneriram v php fajlu ki ne uporablja veliko html-ja (ne potrebujem html, head, body... tagov), pač pa samo php kodo in nekaj html-ja (select, option...). Ali ima kdo kakšno idejo kako bi ta problem rešil?

DeeJay ::

za pravilen prikaz šumnikov iz mysql v HTML neglede na ajax je najbolje da imaš:

mysql
baza mora biti kreirana z: utf8_general_ci
tabela mora biti kreirana z: utf8_general_ci

php
takoj po tem, ko se s PHP povežeš na mysql (mysql_connect) nardiš prvi query
mysql_query("SET NAMES uft8");


pri html v
<head>
dodaš
<meta charset="utf-8"> 


pomembno:
php ali html datoteka mora biti shranjena v UTF-8 obliki brez BOM-a. Ne vem ker editor nucaš, sam ko shranjuješ imaš ponavadi možnost izbrati tip encodinga.

na ta način ti bodo delali vedno vsi šumniki in ostali utf-8 znaki pri shranjevanju in branju iz baze.

glede ajaxa je pa najboljša praksa, da podatke dobivaš v JSON obliki in jih na glavni strani potem obdeluješ in injectaš po želji.

se pravi želiš preko ajaxa dobit neke podatke o osebi, pošlješ ID osebe ajax.php fajlu, tam nardiš mysql poizvedbo in jo pošlješ nazaj v JSON obliki.
Na drugi strani pa ta JSON prebereš in spišeš podatke v nek DIV.

Poglej si:
http://si1.php.net/json_encode
http://stackoverflow.com/questions/4076...
http://stackoverflow.com/questions/1776...

lp

Glodko ::

Uau hvala za tako obsežen in dobro spisan odgovor. Nastavitev baze ne morem spreminjati. Drugod nimam s tem težav (vse .php fajle imam sicer shranjene kot ANSI in z 1250 charsetom deluje vse OK). Težava je očitno potem ker nimam v "ajax.php" definiranega tega charseta ker "head" taga sploh nimam. Skušal sem ga dodat vendar ne pomaga. Skušal sem tudi zamenjati šumnike z njihovimi html kodami (npr. Č => Č) brez uspeha. Vztrajno mi namesto šumnikov prikazuje "?" (vprašaje). Opazil sem tudi da tam kjer je zadnja črka "č" mi prikaže tudi del "option" taga.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[UWP] [C#]

Oddelek: Programiranje
424176 (2206) BivšiUser2
»

ASP, MySQL, UTF8, GoDaddy, šumniki

Oddelek: Programiranje
51159 (1028) techfreak :)
»

Šumniki v php-ju

Oddelek: Izdelava spletišč
214746 (3249) JoSmo
»

PHP in JS problem :(

Oddelek: Programiranje
81716 (1524) l0g1t3ch
»

MySQL in czs

Oddelek: Izdelava spletišč
423600 (2690) krho

Več podobnih tem