Problem s charsetom

poruka: 7
|
čitano: 831
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
12 godina
neaktivan
offline
Problem s charsetom

Poz,

 

Nije mi jasno zašto je pri izvlacenju iz baze jedan podatak u charsetu iso-8859-1, a drugi u utf-8. U bazi su oba podatka namještena na isti charset. Do problema dolazi kad se u bazu upišu slova tipa š ć č itd. Ako u datoteci namjestim charset na utf-8, onda je prvi podatak dobro prikazan, a u drugom su svi not-ascii znakovi zamijenjeni simbolom (crni kvadratic s upitnikom unutra). U suprotome, ako namjestim charset na iso-8859-1, onda je drugi podatak dobro prikazan, a u prvome su svi not-ascii znakovi zamijenjeni drugim slovima (tipa Ä). O čemu se radi?

 

EDIT: Kod dolje ispisuje output za ajax, ako ima veze s tim. 

 

 

 

Kod (php):

 

 

 

<?php

 

$existing=$_GET['q'];

 

include("mysql_connect.php");

 

$postsSql="SELECT * FROM posts ORDER BY date DESC";

 

$postsQuery=mysqli_query($con,$postsSql);

 

$postHtml="";

 

while($post=mysqli_fetch_array($postsQuery)){

 

if(!in_array($post['id'],$existing)){

 

$userId=mysqli_real_escape_string($con,$post['user']);

 

$userFindSql="SELECT name FROM members WHERE memberId='$userId'";

$userFindQuery=mysqli_query($con,$userFindSql);

$userFind=mysqli_fetch_array($userFindQuery);

 

 

$id=mysqli_real_escape_string($con,$post['id']);

$name=mysqli_real_escape_string($con,$userFind['name']);

$content=mysqli_real_escape_string($con,$post['content']);

$date=mysqli_real_escape_string($con,$post['date']);

$dateNew=date("H:i:s d.m.Y.");

 

echo $name;

echo $content;

 

 

 

}

}

 

echo $postHtml;

 

mysqli_close($con);

 

 

?>

Poruka je uređivana zadnji put pet 25.7.2014 22:19 (šobi121).
 
0 0 hvala 0
14 godina
odjavljen
offline
Problem s charsetom

Koristi mysqli_set_charset() ili mysqli::set_charset().

 
0 0 hvala 0
12 godina
neaktivan
offline
Problem s charsetom

Ista stvar se dešava.

 

Primjer

 

charset utf8:

 

ŠŠèæ
ŽĐŠĆČčćžđš
charset iso-8859-1:
� ���
ŽĐŠĆČčćžđš

 

Poruka je uređivana zadnji put sub 26.7.2014 13:11 (šobi121).
 
0 0 hvala 0
16 godina
offline
Problem s charsetom

Promijenio si chartset na tabeli u kojoj je već postojao sadržaj?

All software has bugs.Any developer who claims that his or her software is always bug-free is living in a fantasy world.
Moj PC  
0 0 hvala 0
12 godina
neaktivan
offline
Problem s charsetom

Da, ali dodao sam i nove sadrzaje za provjeru i svejedno je isto.

 

EDIT: U tablici je sve dobro napisano, i kad ispisem u php datoteci koju ajax zove je sve ok, samo pri ispisu kasnije nesto ne stima.

 

javascript kod:

 

function ajax(){

 

$.ajax({

cache:false,

url:"../php/postLoad.php",

dataType:"html",

success:function(res){

$(".postContainer").prepend(res);

}

});

Poruka je uređivana zadnji put sub 26.7.2014 23:20 (šobi121).
 
0 0 hvala 0
16 godina
offline
Problem s charsetom

baza podataka, html / php i json / xml moraju imati isti chartset.

 

dodaj u ajax kod
type: "POST",
contentType :  --- koji koristiš

All software has bugs.Any developer who claims that his or her software is always bug-free is living in a fantasy world.
Moj PC  
0 0 hvala 0
12 godina
neaktivan
offline
Problem s charsetom

Sve je namjesteno na utf-8. Ne radi.

 

Probao sam sad u phpu ispisat ovako: echo rawuriencode($data); i onda u javascriptu kad ga vrati console.log(decodeURIComponent(res)); ali mi javlja error: uri malformed.

 

Stvarno mi nije jasno sto ga muci kad prelazi iz phpa natrag u javascript.

 

EDIT: sad tek vidim da sam gore zamijenio primjere. U utf8 dobro ispise drugi podatak, a prvi ima upitnike u kvadraticima.

Poruka je uređivana zadnji put sub 26.7.2014 23:58 (šobi121).
 
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice