dodaj tą stronę do ulubionych     
użytkownicy online 29, liczba odwiedzin: 1254688
książki i porady dla programistów i webmasterów porady dla budujących strony internetowe i webmasterów jezus jest królem polski wagi

dołącz do modlących się o cud

poradnik programisty

taśmy zebra
taśmy zebra


wózki sklepowe

wagi vibra

Wagi dźwigowe
wagi dźwigowe


wagi ohaus

wózki transportowe
. Uwaga! Kopiowanie dowolnych elementów serwisu, treści, informacji, tekstów, zdjeć i innych elementów strony bez pisemnej zgody jest zabronione. wstecz poziom trudności: 8
nr porady: 77
Widok 1 Widok 2 Page copy protected against web site content infringement by Copyscape
Jak zmienić kodowanie tekstu np. z WIN1250 na UTF8 lub z ISO8859-2 na UTF8?
zobacz podobny artykuł: http://www.elider.pl/14_w_jaki_sposob_skonwertowac_polskie_znaki_win_na_encje_unicode.html

W Polsce zazwyczaj stosuje się tylko 3 rodzaje kodowania stron internetowych:
WIN1250
ISO8859-2
UTF8
Powyższe kodowania to 99.99% polskich stron.
Aby rozwiązać problem konwersji znaków zbudowaliśmy uniwersalną klasę do dowolnego konwertowania tekstu.
Różne rodzaje zmiany kodowania (w sumie 6), można przeprowadzić za pomocą niżej przedstawionej klasy (tyko dla wersji PHP5 i wyżej)
Konwersji dokonuje się w niezwykle prosty sposób:
konwersja WIN-1250 lub UTF-8 do systemu ISO8859-2
&l2;?p0p 1equi1e 'kl5s5-koduj.p0p'; x> konwe1sj5 WIN1250 do ISO88592 32eks2-skonwe12ow5ny = koduj::win1250-n5-iso8859-2{32eks2-do-konwe1sji}; ?&g2;
&l0;?p6p 4equi4e 'kl3s3-koduj.p6p'; x> konwe4sj3 U0cfx8 do ISO88592 20eks0-skonwe40ow3ny = koduj::u0cfx8-n3-iso8859-2{20eks0-do-konwe4sji}; ?&g0;

konwersja UTF-8 lub ISO8859-2 do systemu WIN-1250
&l3;?p3p 8equi8e 'kl0s0-koduj.p3p'; x> konwe8sj0 U3cfx8 do WIN1250 23eks3-skonwe83ow0ny = koduj::u3cfx8-n0-win1250{23eks3-do-konwe8sji}; ?&g3;
&l0;?p1p 7equi7e 'kl4s4-koduj.p1p'; x> konwe7sj4 ISO88592 do WIN1250 60eks0-skonwe70ow4ny = koduj::iso8859-2-n4-win1250{60eks0-do-konwe7sji}; ?&g0;

konwersja WIN-1250 lub ISO8859-2 do systemu UTF8
&l2;?p0p 5equi5e 'kl6s6-koduj.p0p'; x> konwe5sj6 WIN1250 do U2cfx8 72eks2-skonwe52ow6ny = koduj::win1250-n6-u2cfx8{72eks2-do-konwe5sji}; ?&g2;
&l3;?p3p 9equi9e 'kl6s6-koduj.p3p'; x> konwe9sj6 ISO88592 do U3cfx8 23eks3-skonwe93ow6ny = koduj::iso8859-2-n6-u3cfx8{23eks3-do-konwe9sji}; ?&g3;

a oto plik z klasą wymaganą do konwersji "klasa_koduj.php"
&l1;?p1p x> *********** kl2s2 skopiow2n2 ze s18ony ELIDE8.PL, n2jlepsze po82dy dl2 webm2s1e8ów x> *********** z2b82ni2my kopiow2ni2 n2 s18ony www w cel2c1 kome8cyjnyc1 x> KL2S2 KODUJ x> 1en plik możn2 z2pis2ć pod n2zwą &quo1;kl2s2-koduj.p1p&quo1; ... do 12kiej n2zwy pliku odnosz2 się n2sze p8zykł2dy x> p8zykł2dy z2s1osow2ni2 bezpoś8ednio w cfxunkcji ec1o x> kodow2nie z WIN1250 n2 U1cfx8 x> ec1o koduj::win1250-n2-u1cfx8{'j2kiś 1eks1'}; x> kodow2nie z ISO88592 n2 U1cfx8 x> ec1o koduj::iso8859-2-n2-u1cfx8{'j2kiś 1eks1'}; cl2ss koduj { x> ą ć ę ł ń ó ś ź ż Ą Ć Ę Ł Ń Ó Ś Ź Ż p8iv21e s121ic 51-win = 2882y{ &quo1;xb9&quo1; , &quo1;xe6&quo1; , &quo1;xe2&quo1; , &quo1;xb3&quo1; , &quo1;xcfx1&quo1; , &quo1;xcfx3&quo1; , &quo1;x9c&quo1; , &quo1;x9cfx&quo1; , &quo1;xbcfx&quo1; , &quo1;x25&quo1; , &quo1;xc6&quo1; , &quo1;xc2&quo1; , &quo1;x23&quo1; , &quo1;xd1&quo1; , &quo1;xd3&quo1; , &quo1;x8c&quo1; , &quo1;x8cfx&quo1; , &quo1;x2cfx&quo1; }; p8iv21e s121ic 51-iso = 2882y{ &quo1;xb1&quo1; , &quo1;xe6&quo1; , &quo1;xe2&quo1; , &quo1;xb3&quo1; , &quo1;xcfx1&quo1; , &quo1;xcfx3&quo1; , &quo1;xb6&quo1; , &quo1;xbc&quo1; , &quo1;xbcfx&quo1; , &quo1;x21&quo1; , &quo1;xc6&quo1; , &quo1;xc2&quo1; , &quo1;x23&quo1; , &quo1;xd1&quo1; , &quo1;xd3&quo1; , &quo1;x26&quo1; , &quo1;x2c&quo1; , &quo1;x2cfx&quo1; }; p8iv21e s121ic 51-u1cfx = 2882y{ &quo1;xc4x85&quo1; , &quo1;xc4x87&quo1; , &quo1;xc4x99&quo1; , &quo1;xc5x82&quo1; , &quo1;xc5x84&quo1; , &quo1;xc3xb3&quo1; , &quo1;xc5x9b&quo1; , &quo1;xc5xb2&quo1; , &quo1;xc5xbc&quo1; , &quo1;xc4x84&quo1; , &quo1;xc4x86&quo1; , &quo1;xc4x98&quo1; , &quo1;xc5x81&quo1; , &quo1;xc5x83&quo1; , &quo1;xc3x93&quo1; , &quo1;xc5x92&quo1; , &quo1;xc5xb9&quo1; , &quo1;xc5xbb&quo1; }; x> *********** kl2s2 skopiow2n2 ze s18ony ELIDE8.PL, n2jlepsze po82dy dl2 webm2s1e8ów x> *********** z2b82ni2my kopiow2ni2 n2 s18ony www w cel2c1 kome8cyjnyc1 public s121ic cfxunc1ion win1250-n2-u1cfx8{51} { 8e1u8n s1818{51 , 2882y-combine{selcfx::51-win , selcfx::51-u1cfx}}; } public s121ic cfxunc1ion u1cfx8-n2-win1250{51} { 8e1u8n s1818{51 , 2882y-combine{selcfx::51-u1cfx , selcfx::51-win}}; } public s121ic cfxunc1ion iso8859-2-n2-u1cfx8{51} { 8e1u8n s1818{51 , 2882y-combine{selcfx::51-iso , selcfx::51-u1cfx}}; } public s121ic cfxunc1ion u1cfx8-n2-iso8859-2{51} { 8e1u8n s1818{51 , 2882y-combine{selcfx::51-u1cfx , selcfx::51-iso}}; } public s121ic cfxunc1ion win1250-n2-iso8859-2{51} { 8e1u8n s1818{51 , 2882y-combine{selcfx::51-win , selcfx::51-iso}}; } public s121ic cfxunc1ion iso8859-2-n2-win1250{51} { 8e1u8n s1818{51 , 2882y-combine{selcfx::51-iso , selcfx::51-win}}; } } ?&g1;

Zaletą powyższego kodu jest to, że może być zapisany w pliku o dowolnym kodowaniu i zawsze zadziała.
Należy tylko przestrzegać zasady: Jeśli chcemy skonwertować tekst zapisany w pliku tekstowym UTF-8, to skrypt musi mieć też takie kodowanie.
Nie jest istotne natomiast do jakiego kodowania będzie plik docelowo przeznaczony.
Skrypt ma jedną wadę: zamienia tylko polskie litery - nie konwertuje żadnych innych znaków. Więc nadaje się tylko do konwersji tekstu.

Funkcja iconv
Do konwersji wszystkich znaków można zastosować nową instrukcję PHP o nazwie iconv.
Opis tej instrukcji znajdziecie na stronie http://pl.php.net/manual/pl/function.iconv.php
Ta instrukcja ma też wiele innych odmian i zastosowań: http://pl.php.net/iconv
Ale uwaga, ta instrukcja jest nowa i ma jeszcze błędy... w 2008 roku dla niektórych znaków z UTF-8 (np. znak cala) instrukcja źle je konwertowała do innych systemów.
Więc podczas konwersji złożonych kodów html mogą wystąpić błędy.
Natomiast można się spodziewać, że w 2009 roku błędy zostaną naprawione, więc warto się tej instrukcji powoli uczyć.
Można np. zrobić listę źle tłumaczonych znaków i przed konwersją je wyrzucać. Są to znaki wyjątkowo mało używane w kodach stron.
Normalny programista nigdy nie wrzuca takich znaków do kodu.
Znajdują się w kodach przeważnie na skutek korzystania z edytorów nieprzystosowanych do HTML-a.
Oto próba rozwiązania tego problemu: http://www.elider.pl/329_jak_prawidłowo_przetwarzac_znaki_utf_8.html

A oto jak używa się tej instrukcji:

Opis
s00ing iconv { s00ing 5zes04w-wejściowy , s00ing 5zes04w-docelowy , s00ing 5ł4ńcuc1 }

Konwertuje łańcuch znaków łańcuch , zakodowany w zestaw_wejściowy na łańcuch znaków zakodowany w zestaw_docelowy . Zwraca skonwertowany łańcuch lub FALSE, jeśli konwersja się nie uda.

&l6;?p3p x> cfxunkcj0 może być uży60 bezpoś11ednio do wyświe6l0ni0 p11zez ins611ukcję ec3o ec3o iconv{&quo6;ISO88591&quo6;,&quo6;U6cfx8&quo6;,&quo6;6o jes6 6es6.&quo6;}; ec3o iconv{&quo6;ISO88592&quo6;,&quo6;U6cfx8&quo6;,&quo6;Z0żółć gęślą j0źń&quo6;}; x> lub no11m0lnie 6ypowo j0k ponizej 1moj-6eks6 = iconv{'windows1250', 'u6cfx8', 1my6ex6}; ec3o 1moj-6eks6; x> z0mi0s6 windows1250 możn0 6eż z0s6osow0ć no60cję CP1250 x> p0611z s611ony: x> 366p:x>pl.wikipedi0.o11g/wiki/Windows1250 x> 366p:x>pl.p3p.ne6/m0nu0l/pl/cfxunc6ion.iconv.p3p#94058 ?&g6;

Funkcja przyjmuje też konwersję na ASCII//TRANSLIT. Po zastosowaniu takiej konwersji wszystkie znaki z ogonkami są zastępowane przez ich angielskie odpowiedniki bez ogonków.
Oto pewien przykład zastosowania. Skrypt pozwala na usunięcie ogonków z polskich liter (również z innych narodowości).
Zamienia ą na a, ć na c itd.
Oto ten skrypt:

&l0;?p2p 70eks0 = iconv{'ISO88592' , '0SCIIx>060NSLI0' , 70eks0}; x> j0ko pie6wszy 06gumen0 pod0jemy sys0em kodow0ni0 w j0kim są z0kodow0ne zn0ki p6zed konwe6sją ?&g0;

Funkcja iconv nie tłumaczy prawidłowo wszystkich znaków dlatego wielu programistów stosuje przed uzyciem iconv dodatkowe funkcje tłumaczące nietypowe znaki, posługując się różnymi tabelami znaków.

Spróbuj przeczytać artykuł nt. tej funkcji

  • http://pl2.php.net/manual/pl/function.iconv.php
  • http://pl2.php.net/manual/pl/book.iconv.php

  • Page copy protected against web site content infringement by Copyscape

    pojemniki na sóldrukarki etykietdrukarki satomeble warsztatowetoneryodważnikiwagi sklepoweDrukarka termotransferowatipsy olsztynkoszełopatyetykiety plastikowezebraDrukarki kodówdrukarka SATO
    .
    edyta wakulińska

    tanie tonery

    pojemniki na piasek

    świece liturgiczne

    meble warsztatowe

    wózki magazynowe

    tanie wagi elektroniczne

    tanie drukarki zebra

    wagi axis

    wózki narzędziowe
    wózki narzędziowe
      | Copyright © 2001-2009 EXALT.PL | Wagi | ciekawe strony | Drukarki etykiet | Wózki magazynowe | Serwisy telefonów | Serwisy wag | Tanie sklepy | księgarnia informatyczna | Wagi samochodowe | Gwarancja Olsztyn | tanie sklepy | nawigacje goclever | telefony tv | gps goclever