UTF рд╕реЗ WIN-1251 рдХреЗ рд▓рд┐рдП рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛рд░реНрдп рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд

<? php

рдлрд╝рдВрдХреНрд╢рди utf2win1251 ($ рд╕рд╛рдордЧреНрд░реА)

{

$ newcontent = "";



рдХреЗ рд▓рд┐рдП ($ i = 0; $ i <strlen ($ рд╕рд╛рдордЧреНрд░реА); $ i ++)

{

$ рд╕реА 1 = рдкрджрд╛рд░реНрде ($ рд╕рд╛рдордЧреНрд░реА, $ i, 1);

$ рдмрд╛рдЗрдЯ 1 = рдСрд░реНрдб ($ c1);

рдЕрдЧрд░ ($ рдмрд╛рдЗрдЯ 1 >> 5 == 6)

{

$ i ++;

$ c2 = рдкрджрд╛рд░реНрде ($ рд╕рд╛рдордЧреНрд░реА, $ i, 1);

$ рдмрд╛рдЗрдЯ 2 = рдСрд░реНрдб ($ c2);

$ рдмрд╛рдЗрдЯ 1 & = 31;

$ рдмрд╛рдЗрдЯ 2 & = 63;

$ рдмрд╛рдЗрдЯ 2 | = (($ рдмрд╛рдЗрдЯ 1 рдФрд░ 3) << 6);

$ рдмрд╛рдЗрдЯ 1 >> = 2;

$ рд╢рдмреНрдж = ($ рдмрд╛рдЗрдЯ 1 << 8) + $ рдмрд╛рдЗрдЯ 2;



if ($ рд╢рдмреНрдж == 1025) $ newcontentред = chr (168);

рдФрд░ рдЕрдЧрд░ ($ рд╢рдмреНрдж == 1105) $ рдирдпрд╛ рдорд╣рд╛рджреНрд╡реАрдкред = chr (184);

рдФрд░ рдпрджрд┐ ($ рд╢рдмреНрдж> = 0x0410 && $ рд╢рдмреНрдж <= 0x044F) $ newcontentред = chr ($ рд╢рдмреНрдж -848);

рдЕрдиреНрдпрдерд╛

{

$ a = рдбреЗрд╢реЗрдХреНрд╕ ($ рдмрд╛рдЗрдЯ 1);

$ a = str_pad ($ a, 2, "0", STR_PAD_LEFT);

$ b = рдбреЗрд╢реЗрдХреНрд╕ ($ рдмрд╛рдЗрдЯ 2);

$ b = str_pad ($ b, 2, "0", STR_PAD_LEFT);

$ newcontentред = "& # x"ред $ aред $ bред ";"

}

}

рдЕрдиреНрдпрдерд╛

$ рдиреНрдпреВрдХрдВрдЯреЗрдВрдЯред = $ c1;

}



$ рдирдпрд╛ рдХреЙрдиреНрдЯрд┐рдиреЗрдВрдЯ рд▓реМрдЯрд╛рдПрдВ;

}



рдлрд╝рдВрдХреНрд╢рди win12512utf ($ рд╕рд╛рдордЧреНрд░реА)

{

$ рд╕рд╛рдордЧреНрд░реА = preg_replace ("#% u ([0-9A-F] {1,4}) # рдЕрд░реНрдерд╛рдд", "'& #'ред hexdec ('\\ 1')ред ';' '', $ рд╕рд╛рдордЧреНрд░реАред ;

$ рд╕рд╛рдордЧреНрд░реА = html_entity_decode (urldecode ($ рд╕рд╛рдордЧреНрд░реА), ENT_NOQUOTES, "windows-1251");



$ рд╕рд╛рдордЧреНрд░реА рд▓реМрдЯрд╛рдПрдВ;

}

?>



All Articles