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