Функция для конвертирования всех свойств объекта из UTF8 в windows-1251

04.06.2013

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
 * Конвертирование всех свойств объекта из UTF8 в windows-1251
 *
 * @param mixed $OBJ (Если передана строка, то произойдет ее конвертирование)
 * @return object
 */
function conv_obj_UTF_2_1251(&$OBJ)
{
  if (is_object($OBJ))
  {
    $class_vars = get_object_vars($OBJ);
    foreach ($class_vars as $name => $value)
    {
      if (is_string($value))
      {
        $val = '';
        try
        {
          @$val = iconv("UTF-8", "windows-1251", $value);
        }
        catch (Exception $e)
        {
          echo 'Выброшено исключение: ',  $e->getMessage(), "\n";
        }

        if ($val)
        {
          $OBJ->$name = $val;
        }
      }
    }
  }
  else
  {
    $OBJ = iconv("UTF-8", "windows-1251", $OBJ);
  }

  return $OBJ;
}


Категории: PHP
Яндекс.Метрика