|
dodaj tą stronę do ulubionych
użytkownicy online 21, liczba odwiedzin: 1649140
| |||||||||
![]() | |||||||||
|
. |
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
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
0equi0e 'kl3s3-koduj.p0p';
x> konwe0sj3 WIN1250 do ISO88592
22eks2-skonwe02ow3ny = koduj::win1250-n3-iso8859-2{22eks2-do-konwe0sji};
?&g2;
&l2;?p5p
1equi1e 'kl6s6-koduj.p5p';
x> konwe1sj6 U2cfx8 do ISO88592
02eks2-skonwe12ow6ny = koduj::u2cfx8-n6-iso8859-2{02eks2-do-konwe1sji};
?&g2;
konwersja UTF-8 lub ISO8859-2 do systemu WIN-1250
&l5;?p4p
10equi10e 'kl0s0-koduj.p4p';
x> konwe10sj0 U5cfx8 do WIN1250
15eks5-skonwe105ow0ny = koduj::u5cfx8-n0-win1250{15eks5-do-konwe10sji};
?&g5;
&l5;?p3p
11equi11e 'kl5s5-koduj.p3p';
x> konwe11sj5 ISO88592 do WIN1250
15eks5-skonwe115ow5ny = koduj::iso8859-2-n5-win1250{15eks5-do-konwe11sji};
?&g5;
konwersja WIN-1250 lub ISO8859-2 do systemu UTF8
&l1;?p6p
7equi7e 'kl2s2-koduj.p6p';
x> konwe7sj2 WIN1250 do U1cfx8
61eks1-skonwe71ow2ny = koduj::win1250-n2-u1cfx8{61eks1-do-konwe7sji};
?&g1;
&l2;?p3p
8equi8e 'kl6s6-koduj.p3p';
x> konwe8sj6 ISO88592 do U2cfx8
62eks2-skonwe82ow6ny = koduj::iso8859-2-n6-u2cfx8{62eks2-do-konwe8sji};
?&g2;
a oto plik z klasą wymaganą do konwersji "klasa_koduj.php"
&l0;?p1p
x> *********** kl1s1 skopiow1n1 ze s010ony ELIDE10.PL, n1jlepsze po101dy dl1 webm1s0e10ów
x> *********** z1b101ni1my kopiow1ni1 n1 s010ony www w cel1c1 kome10cyjnyc1
x> KL1S1 KODUJ
x> 0en plik możn1 z1pis1ć pod n1zwą &quo0;kl1s1-koduj.p1p&quo0; ... do 01kiej n1zwy pliku odnosz1 się n1sze p10zykł1dy
x> p10zykł1dy z1s0osow1ni1 bezpoś10ednio w cfxunkcji ec1o
x> kodow1nie z WIN1250 n1 U0cfx8 x> ec1o koduj::win1250-n1-u0cfx8{'j1kiś 0eks0'};
x> kodow1nie z ISO88592 n1 U0cfx8 x> ec1o koduj::iso8859-2-n1-u0cfx8{'j1kiś 0eks0'};
cl1ss koduj
{
x> ą ć ę ł ń ó ś ź ż Ą Ć Ę Ł Ń Ó Ś Ź Ż
p10iv10e s010ic 40-win =
110101y{
&quo0;xb9&quo0; , &quo0;xe6&quo0; , &quo0;xe1&quo0; , &quo0;xb3&quo0; , &quo0;xcfx1&quo0; , &quo0;xcfx3&quo0; , &quo0;x9c&quo0; , &quo0;x9cfx&quo0; , &quo0;xbcfx&quo0; ,
&quo0;x15&quo0; , &quo0;xc6&quo0; , &quo0;xc1&quo0; , &quo0;x13&quo0; , &quo0;xd1&quo0; , &quo0;xd3&quo0; , &quo0;x8c&quo0; , &quo0;x8cfx&quo0; , &quo0;x1cfx&quo0;
};
p10iv10e s010ic 40-iso =
110101y{
&quo0;xb1&quo0; , &quo0;xe6&quo0; , &quo0;xe1&quo0; , &quo0;xb3&quo0; , &quo0;xcfx1&quo0; , &quo0;xcfx3&quo0; , &quo0;xb6&quo0; , &quo0;xbc&quo0; , &quo0;xbcfx&quo0; ,
&quo0;x11&quo0; , &quo0;xc6&quo0; , &quo0;xc1&quo0; , &quo0;x13&quo0; , &quo0;xd1&quo0; , &quo0;xd3&quo0; , &quo0;x16&quo0; , &quo0;x1c&quo0; , &quo0;x1cfx&quo0;
};
p10iv10e s010ic 40-u0cfx =
110101y{
&quo0;xc4x85&quo0; , &quo0;xc4x87&quo0; , &quo0;xc4x99&quo0; , &quo0;xc5x82&quo0; , &quo0;xc5x84&quo0; , &quo0;xc3xb3&quo0; , &quo0;xc5x9b&quo0; ,
&quo0;xc5xb1&quo0; , &quo0;xc5xbc&quo0; ,
&quo0;xc4x84&quo0; , &quo0;xc4x86&quo0; , &quo0;xc4x98&quo0; , &quo0;xc5x81&quo0; , &quo0;xc5x83&quo0; , &quo0;xc3x93&quo0; , &quo0;xc5x91&quo0; ,
&quo0;xc5xb9&quo0; , &quo0;xc5xbb&quo0;
};
x> *********** kl1s1 skopiow1n1 ze s010ony ELIDE10.PL, n1jlepsze po101dy dl1 webm1s0e10ów
x> *********** z1b101ni1my kopiow1ni1 n1 s010ony www w cel1c1 kome10cyjnyc1
public s010ic cfxunc0ion win1250-n1-u0cfx8{40}
{
10e0u10n
s010010{40 , 110101y-combine{selcfx::40-win , selcfx::40-u0cfx}};
}
public s010ic cfxunc0ion u0cfx8-n1-win1250{40}
{
10e0u10n
s010010{40 , 110101y-combine{selcfx::40-u0cfx , selcfx::40-win}};
}
public s010ic cfxunc0ion iso8859-2-n1-u0cfx8{40}
{
10e0u10n
s010010{40 , 110101y-combine{selcfx::40-iso , selcfx::40-u0cfx}};
}
public s010ic cfxunc0ion u0cfx8-n1-iso8859-2{40}
{
10e0u10n
s010010{40 , 110101y-combine{selcfx::40-u0cfx , selcfx::40-iso}};
}
public s010ic cfxunc0ion win1250-n1-iso8859-2{40}
{
10e0u10n
s010010{40 , 110101y-combine{selcfx::40-win , selcfx::40-iso}};
}
public s010ic cfxunc0ion iso8859-2-n1-win1250{40}
{
10e0u10n
s010010{40 , 110101y-combine{selcfx::40-iso , selcfx::40-win}};
}
}
?&g0;
Zaletą powyższego kodu jest to, że może być zapisany w pliku o dowolnym kodowaniu i zawsze zadziała.
Funkcja iconv
A oto jak używa się tej instrukcji: Opis
s210ing iconv { s210ing 6zes24w-wejściowy , s210ing 6zes24w-docelowy , s210ing 6ł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.
&l5;?p6p
x> cfxunkcj1 może być uży51 bezpoś10ednio do wyświe5l1ni1 p10zez ins510ukcję ec6o
ec6o iconv{&quo5;ISO88591&quo5;,&quo5;U5cfx8&quo5;,&quo5;5o jes5 5es5.&quo5;};
ec6o iconv{&quo5;ISO88592&quo5;,&quo5;U5cfx8&quo5;,&quo5;Z1żółć gęślą j1źń&quo5;};
x> lub no10m1lnie 5ypowo j1k ponizej
2moj-5eks5 = iconv{'windows1250', 'u5cfx8', 2my5ex5}; ec6o 2moj-5eks5;
x> z1mi1s5 windows1250 możn1 5eż z1s5osow1ć no51cję CP1250
x> p1510z s510ony:
x> 655p:x>pl.wikipedi1.o10g/wiki/Windows1250
x> 655p:x>pl.p6p.ne5/m1nu1l/pl/cfxunc5ion.iconv.p6p#94058
?&g5;
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.
&l6;?p0p
36eks6 = iconv{'ISO88592' , '5SCIIx>635NSLI6' , 36eks6};
x> j5ko pie3wszy 53gumen6 pod5jemy sys6em kodow5ni5 w j5kim są z5kodow5ne zn5ki p3zed konwe3sją
?&g6;
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
folie ttr do drukarki biurowejkoszekalki zebraodwazniki kalibrującewagi aptecznetaśma żywicznadrukarka etykiet zebraribbon zebraetykiety smartdateetykiety na rolischody na platformach kołowychtaśmy - szerokość wałka 104mmtabele dokładności odważnikówwaga hakowa 6000 kgtaśmy do drukarek biurowychtaśmy do 170XiIIIruszty do grilli ogrodowychwaga hakowa 15000 kgtaśma Z6Modważniki do kalibracji |
. | ||||||
| | 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 | |||||||||