[ MilanRS @ 29.11.2008. 21:46 ] @
Baza bloga je u charset 8859-1, a hoću da na drugom sajtu prikažem naslove postova sa bloga.
Problem je što je charset drugog sajta 8859-2 tako da mi ne prikazuje dobro neke znakove.

Kako da preko php funkcije prebaci da ne bude Ru�enje zgrade nego Rušenje zgrade, a može i bez kvačica Rusenje zgrade?

Pretražio sam pola interneta i nisam uspio pronaći. Zahvaljujem za pomoć.
[ Goran Rakić @ 29.11.2008. 21:54 ] @
ISO8859-1 uopšte nema pozicije za "slova sa kvačicama", nešto si nam pogrešno napisao.
[ MilanRS @ 29.11.2008. 21:59 ] @
Mislim da (nisam siguran) wordpress snima u bazu u iso i kad prikazuje na blogu, prebacuje u UTF8.
A kad ja prikazujem na drugom sajtu koji je rađen drugim charsetom, ne valja.
Ako stavim u header da je charset iso-8859-1, prikazuje dobro te moje naslove, ali ne valja ostatak tog sajta.
[ Nikola Poša @ 29.11.2008. 21:59 ] @
Prelistaj 10-ak poslednjih poruka na ovoj temi, a takodje prouchi ovu PHP-ovu funkciju...

A i bilo je dosta poruka i diskusija na ovu temu, pretrazhi malo forum...
[ Goran Rakić @ 29.11.2008. 22:13 ] @
collate nema veze sa kodnom stranom podataka već uređuje redosled za desc/asc ređanje. Wordpress ne prebacuhe bilo šta.
[ MilanRS @ 29.11.2008. 22:21 ] @
Ovo ništa ne uradi
Code:
$blog_title = mb_convert_encoding($blog_title, "iso-8859-2", "iso-8859-1");


Ovo proguta slova sa kvačicama:
Code:
$blog_title = mb_convert_encoding($blog_title, "iso-8859-2", "utf-8");



Iconv ili ostavi isto ili prekine ime tamo gdje je trebalo biti š (Ru umjesto Rušenje zgrade).

Znači, hoću da iz wordpressove baze učitam na sajt koji je iso-8859-2.
Pokušavam razne kombinacije i sa mb_convert_encoding i sa iconv.

EDIT:
Pomoću ovoga:
Code:
$blog_title = iconv("windows-1250", "ISO-8859-2", $blog_title);

od ovoga
ŠšĐđĆ掞Čč
bude ovo
Šš????Žž??

[Ovu poruku je menjao MilanRS dana 29.11.2008. u 23:34 GMT+1]
[ Goran Rakić @ 30.11.2008. 00:16 ] @
Dok ne daš linkove ili priložiš html sa sačuvanim izlazom, teško da će ti iko pomoći. Koliko do sada znam, ja bih glasao za funkciju iconv("UTF-8", "ISO-8859-2", $blog_title); ali to uopšte ne mora da bude to.

Ovo što si testirao, $blog_title = "ŠšĐđĆ掞Čč" ti je zapisano u kodu, zar ne? To onda nije isto kao kada ti podaci dolaze iz baze već zavisi od kodne strane u kojoj si sačuvao .php datoteku pa ti je pogrešan način kako testiraš funkciju.
[ MilanRS @ 30.11.2008. 02:34 ] @
Citat:
Goran Rakić
Ovo što si testirao, $blog_title = "ŠšĐđĆ掞Čč" ti je zapisano u kodu, zar ne? To onda nije isto kao kada ti podaci dolaze iz baze već zavisi od kodne strane u kojoj si sačuvao .php datoteku pa ti je pogrešan način kako testiraš funkciju.


Ne, napravio sam post na blogu i imenovao sam ga ŠšĐđĆ掞Čč da bih mogao testirati da li sva slova prikazuje ispravno.
A testirao sam razne kombinacije i sa iconv

Hvala na odgovoru.
[ ilkeNo1 @ 22.02.2010. 10:04 ] @
Pozdrav svima,

Nerazumevanje materije mi onemogucava da zavrsim posao:

Radi se o citanju izvoda Postanske stediionice koji se pruzimaju na njihovom sajtu.

Fajl se cuva u formatu : Iddmmgg.xxxx > I skracenica za izvod, ddmmgg datum izvoda, xxxx redni broj izvoda

Kada procitam string u kome se nalaze nasa slova, mb_detect_encoding vraca ISO-8859-1, inace vraca ASCII .

Kada u meta tag html-a stavim da je iso-8859-1 dobro se prikaze, a ako stavim iso-8859-2 npr slovo Š se prikaze kao crni romb sa belim znakom pitanja.

U bazu se isto nesipravno upisuju nasa slova. Trebalo bi da bude iso-8859-2 u bazi , da li neko ima resenje kako da prebacim u taj encoding posto funkcija

mb_convert_encoding ($string ,'ISO-8859-2', 'ISO-8859-1'); ne daje efekta ?
[ Man-Wolf @ 22.02.2010. 11:40 ] @
>


Prebaci taj ISO-XXX u UTF-8 i sve radi sa UTF-8 -icom. Takodje, u bazi cuvaj
podatke u UTF-8 encoding-u.

Probaj sa f-jom utf8_encode() da konvertujes taj string u UTF8icu, pa posle
.... sta vec treba :-)

--00032555b142d3410a04802ee7f5
Content-Type: text/html; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable

<br><br><div class="gmail_quote">2010/2/22 ilkeNo1 <span dir="ltr">&lt;<a href="mailto:[email protected]">[email protected]</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Pozdrav svima,<br>
<br>
Nerazumevanje materije mi onemogucava da zavrsim posao:<br>
<br>
Radi se o citanju izvoda Postanske stediionice �koji se pruzimaju na njihovom sajtu.<br>
<br>
Fajl se cuva u formatu : Iddmmgg.xxxx &gt; I skracenica za izvod, ddmmgg datum izvoda, xxxx redni broj izvoda<br>
<br>
Kada procitam string u kome se nalaze nasa slova, mb_detect_encoding vraca ISO-8859-1, �inace vraca ASCII . <br>
Kada u meta tag html-a stavim da je iso-8859-1 dobro se prikaze, a ako stavim iso-8859-2 npr slovo � se prikaze kao crni romb sa belim znakom pitanja. <br>
U bazu se isto nesipravno upisuju nasa slova. Trebalo bi da bude iso-8859-2 u bazi , da li neko ima resenje kako da prebacim u taj encoding posto funkcija <br>
mb_convert_encoding ($string ,&#39;ISO-8859-2&#39;, &#39;ISO-8859-1&#39;); ne daje efekta ?<br><font color="#888888">
<br>
<br>
--<br>
<a href="http://www.elitesecurity.org/p2528852" target="_blank">http://www.elitesecurity.org/p2528852</a><br>
<br>
Prijave/odjave: <a href="http://www.elitesecurity.org/liste" target="_blank">http://www.elitesecurity.org/liste</a><br>
<br>
Deaktivirajte rich-text formatiranje u svom mail klijentu ili webmailu kada odgovarate na poruku. Ne menjajte sledece dve linije ukoliko odgovarate putem emaila!<br>
esauth:345795:2a56774b2616544a9b16412e20dc7ed5<br>
[ ilkeNo1 @ 22.02.2010. 12:13 ] @
U bazi mora da bude iso-8859-2. UFT-8 nije zadovoljavajući format u mom slučaju

Samo da napomenem jos jednaput da se u fajlu koji se cita nalaze nasa slova, a da ih php fuunkcija mb_detect_encoding vidi kao iso-8859-1 (u onim stringovima gde su naša slova) ??????? kako to bre?

application/octet-stream je tip fajla
[ ilkeNo1 @ 25.02.2010. 09:07 ] @
Ostao sam duzan da vam kazem da sam pronasao da je bio windows1250 encoding
pozdrav