Obsah fóra
PravidláRegistrovaťPrihlásenie




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

Užívateľ
Užívateľ
Kodovanie

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok NapísalOffline : 31.12.2009 15:21

Ahoj,

pomocou curl nacitam obsah napr. 4 stranok.
problem je , ze nepoznam ich kodovanie a jedna je windows-1250, dalsia utf-8 etc.

ako mam ulozit do db a nasledne vypisat text s tym, ze vsade bude dobra diakritika?

nasiel som nejake funkcie, ktore prevadzaju text z hocjakeho kodovania do jedneho, napr utf-8. take nieco by som potreboval, problem je v tom, ze tamta funkcia je od PHP6 a ja potrebujem pre PHP5

hadam som sa nevyjadril ako hotentot, dakujem za pomoc :)







_________________
Sorry za prelkepy
Offline

Čestný člen
Čestný člen
Kodovanie

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 31.12.2009 16:54

Mozes pozriet fciu mb_detect_encoding(), ale moc by som tomu nedoveroval. Skus pozerat HTTP hlavicku Content-type, pripadne, ak ide o HTML stranky, hladat charset=... v <meta>. Ale spolahlivo to urcit nemozes, uz len kvoli tomu, ze Windows-1250 a ISO-8859-2 pouzivaju rovnaky rozsah bajtov (0xBE je ž alebo ľ?). Tu by som sa zameral len na kodovania pouzivane na Slovensku a napisal si fciu, ktora najprv rozhodne, ci je to UTF-8 alebo nie (to bude lahke) a potom rozhodol medzi Windows-1250 a ISO-8859-2 na zaklade konkretnych bajtov (napr. ak je tam 0x9A, asi to bude Windows-1250, lebo tento bajt sa v ISO-8859-2 nepouziva).


Offline

Užívateľ
Užívateľ
Kodovanie

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok Napísal autor témyOffline : 31.12.2009 16:58

ja som uz skusal vselico, ale s tymto nemam ziadne skusenosti, cize som k nicomu nedospel.

skusal som aj mb_detect_encoding(), ale dve stranky, ktore mi vratili UTF-8 sa zobrazili rozlične.

nemas po ruke nejaku dokumentaciu k tomu co si mi tu popisoval? bo som z toho porozumel dokopy nič, a už som pregoogloval svoje nervy :)

a ked uz budem vediet, ci je to UTF8 alebo windows1250, ako ich prevediem to jedneoho alebo druheho kodovania? aby som mal v DB vsetko rovnake







_________________
Sorry za prelkepy
Offline

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

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 31.12.2009 18:45

Pomocou curl_getinfo sa pozrieš, či je v http hlavičke Content-Type a ak tam je, pozrieš sa, či je tam text charset. Ak tam ten text je, tak tam máš kódovanie (webový server tam zvyčajne prekopíruje kódovanie ktoré je v html súbore v head).
Netuším ale, ako sa to správa (a nechce sa mi to ani testovať) keď je tam Content-Type viac krát (to sa stáva napr. keď je webový server nastavený tak, aby odosielal predvolený typ a/alebo predvolené kódovanie).

Ak v tej hlavičke nie je Content-Type, budeš v samotnom html kóde hľadať tag meta v ktorom sú atribúty http-equiv a content a v content je charset.

Ak tam nie je ani to, tak použiješ napr. mb_detect_encoding (lepšie pár nesprávnych znakov, ako kompletný chaos).

A ak si s tým neporadí ani tá funkcia, tak použiješ nejaké predvolené kódovanie (napr windows-1250).

Nakoniec to môžeš do utf-8 previesť napr. pomocou iconv (do windows-1250 kódovania by som to nedával, keďže je tam oveľa menej možných znakov, takže to môže ten text poškodiť).


Offline

Čestný člen
Čestný člen
Kodovanie

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 01.01.2010 1:11

chrono
Tak nejak som to myslel :D len by som dodal, ze prehliadace podporuju aj zapis <meta charset=kodovanie>, v HTML5 uz platny. Mozes pouzit jednoduchy regexp, napriklad
Kód:
'/<meta[^<>]*?charset=[\'"]?([a-z0-9_-]+)/i'
(nemusi byt najspravnejsi, ale mal by fungovat)


Offline

Užívateľ
Užívateľ
Kodovanie

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok Napísal autor témyOffline : 01.01.2010 2:32

mohol by som vas poprosit este daco mimo temy? ked uz sme pri regur. vyrazoch (moja nocna mora), vytahujem zo stranky data z meta tagov. pomocou

Kód:
preg_match_all('@name="([^"]*)" content="([^"]*)"@i', $Head, $Matches);


aby som ich dostal do pola napr. array('author' => 'ja', 'keywords' => 'bla,bla');

takto to funguje, ale co tak bude zapis emta tagu namiesto
Kód:
<meta name="bla" content="bla">
toto
Kód:
<meta content="bla" name="bla">
? prsote prehodene... da sa to nejak pichnut do toho preg_match ??

dakujem, k tomu kodovaniu sa vyjadrim zajtra, teraz sa idem vratit k oslave :D







_________________
Sorry za prelkepy
Offline

Správca fóra
Správca fóra
Kodovanie

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 01.01.2010 11:36

nie je to dokonale, ale mozno "nakopne":
Kód:
preg_match_all("/([^\" ]*)=\"([^\"]*)\"/", $head, $matches);







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Odpovedať na tému [ Príspevkov: 7 ] 


Podobné témy

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

v HTML, XHTML, XML, CSS

8

690

22.10.2013 17:00

asdf13 Zobrazenie posledných príspevkov

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

v HTML, XHTML, XML, CSS

2

607

01.02.2008 18:26

jato Zobrazenie posledných príspevkov

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

v HTML, XHTML, XML, CSS

11

654

02.11.2012 18:41

shaggy Zobrazenie posledných príspevkov

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

v PHP, ASP

4

633

06.11.2007 21:13

qacer Zobrazenie posledných príspevkov

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

v HTML, XHTML, XML, CSS

23

1220

19.02.2009 14:46

neopagan Zobrazenie posledných príspevkov

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

v PHP, ASP

5

725

11.07.2007 20:02

Tominator Zobrazenie posledných príspevkov

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

v HTML, XHTML, XML, CSS

4

696

18.10.2009 17:04

kemci Zobrazenie posledných príspevkov

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

v PHP, ASP

2

539

03.11.2007 23:03

jsakac Zobrazenie posledných príspevkov

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

v Databázy

3

789

14.11.2008 12:39

walther Zobrazenie posledných príspevkov

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

v Redakčné systémy

1

612

09.06.2007 10:54

mokus Zobrazenie posledných príspevkov

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

v Sieťové a internetové programy

7

606

05.04.2008 23:46

Jaro Zobrazenie posledných príspevkov

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

v Operačné systémy Microsoft

0

366

16.05.2010 18:20

sasori1512 Zobrazenie posledných príspevkov

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

v PHP, ASP

1

377

17.11.2011 14:06

BX Zobrazenie posledných príspevkov

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

v Databázy

3

996

28.02.2008 14:26

emer Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kódovanie stránky

v PHP, ASP

6

335

28.10.2012 13:05

Ďuri Zobrazenie posledných príspevkov

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

v HTML, XHTML, XML, CSS

12

1095

01.07.2010 12:19

coldak 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