function convert_str($str, $enc = "utf-8"){
if (strlen($str) == 0){
return $str;
}
$str_ = @iconv("utf-8", "windows-1251", $str);
if (in_array(strtolower($enc),array("utf","utf8","utf-8","utf 8","utf_8"))){
if (strlen($str_) == 0){ /* была ошибка при перекодировании, значит исходная строка в windows-1251 */
return iconv("windows-1251", "utf-8", $str);
}else{ /* начальная строка уже в utf-8 */
return $str;
}
}else{
if (strlen($str_) == 0){ /* была ошибка при перекодировании, значит исходная строка уже в windows-1251 */
return $str;
}else{ /* начальная строка в utf-8, возвращаем перекодированную строку */
return $str_;
}
}
}
Спустя 57 минут, 30 секунд (6.04.2010 - 06:22) twin написал(а):
Ничего не смущает на этой строчке?
if (strtolower($enc) in_array("utf","utf8","utf-8","utf 8","utf_8")){
Спустя 6 часов, 25 минут, 58 секунд (6.04.2010 - 12:48) FatCat написал(а):
Пользуюсь "еврейским" способом:
И плевать на кодировку, на выходё всё в 1251.
$unicode=array(chr(208).chr(144),chr(208).chr(145),chr(208).chr(146),chr(208).chr(147),chr(208).chr(148),chr(208).chr(149),chr(208).chr(150),chr(208).chr(151),chr(208).chr(152),chr(208).chr(153),chr(208).chr(154),chr(208).chr(155),chr(208).chr(156),chr(208).chr(157),chr(208).chr(158),chr(208).chr(159),chr(208).chr(160),chr(208).chr(161),chr(208).chr(162),chr(208).chr(163),chr(208).chr(164),chr(208).chr(165),chr(208).chr(166),chr(208).chr(167),chr(208).chr(168),chr(208).chr(169),chr(208).chr(170),chr(208).chr(171),chr(208).chr(172),chr(208).chr(173),chr(208).chr(174),chr(208).chr(175),chr(208).chr(176),chr(208).chr(177),chr(208).chr(178),chr(208).chr(179),chr(208).chr(180),chr(208).chr(181),chr(208).chr(182),chr(208).chr(183),chr(208).chr(184),chr(208).chr(185),chr(208).chr(186),chr(208).chr(187),chr(208).chr(188),chr(208).chr(189),chr(208).chr(190),chr(208).chr(191),chr(209).chr(128),chr(209).chr(129),chr(209).chr(130),chr(209).chr(131),chr(209).chr(132),chr(209).chr(133),chr(209).chr(134),chr(209).chr(135),chr(209).chr(136),chr(209).chr(137),chr(209).chr(138),chr(209).chr(139),chr(209).chr(140),chr(209).chr(141),chr(209).chr(142),chr(209).chr(143),chr(209).chr(145),chr(208).chr(129));
$win=array(chr(192),chr(193),chr(194),chr(195),chr(196),chr(197),chr(198),chr(199),chr(200),chr(201),chr(202),chr(203),chr(204),chr(205),chr(206),chr(207),chr(208),chr(209),chr(210),chr(211),chr(212),chr(213),chr(214),chr(215),chr(216),chr(217),chr(218),chr(219),chr(220),chr(221),chr(222),chr(223),chr(224),chr(225),chr(226),chr(227),chr(228),chr(229),chr(230),chr(231),chr(232),chr(233),chr(234),chr(235),chr(236),chr(237),chr(238),chr(239),chr(240),chr(241),chr(242),chr(243),chr(244),chr(245),chr(246),chr(247),chr(248),chr(249),chr(250),chr(251),chr(252),chr(253),chr(254),chr(255),chr(184),chr(168));
$txt = str_replace($unicode,$win,$txt);
И плевать на кодировку, на выходё всё в 1251.
Спустя 10 дней, 13 часов, 56 минут, 34 секунды (17.04.2010 - 02:45) dr_Lev написал(а):
Цитата (twin @ 6.04.2010 - 06:22) |
Ничего не смущает на этой строчке?if (strtolower($enc) in_array("utf","utf8","utf-8","utf 8","utf_8")){ |

_____________
Фанатам Pascal:
<?php
function Write($str){echo $str;}
function WriteLn($str){Write($str."<br />");}
?>