Показать сообщение отдельно
  #1  
Старый 25.03.2013, 21:27
michalua michalua вне форума
Прохожий
 
Регистрация: 25.03.2013
Сообщения: 1
Версия Delphi: php, delphi xe3
Репутация: 10
Счастье Перекодировка из ANSI в UTF-8

Всем привет. У меня такая проблема. Есть парсер который парсит страницы (кодировка ISO-8859-1). Сама страница парсера в той же кодировке. выводит все хорошо:
Team 1 - Ac Milan id = 3
Result - 4 - 1
Team 2 - Lazio Roma id = 10
id match = 1523
id player = 428 | id club = 10
Player - M. Zárate
Goal minute - 26 | Result match - 1 - 1 | Type goal - 0

Дальше мне нужно проверить в таблице есть ли такой игрок (M. Zárate), если есть то идем дальше если нет то записать и взять его id. База - postgresql в UTF-8.
вот так смотрю есть ли этот игрок. Проблема следующая, если игрок имеет имя с буквами (á, í... Zárate, Kaká) - то в цикле оно пропускает его, выводит - Error player
PHP код:
$id_player pg_query("SELECT * FROM player WHERE name='".trim($name_player)."'");
            if(!
$id_player){ 
                echo 
"<h3>Error player</h3>";
            }else{
                if(
pg_numrows($id_player)==null){
                    echo 
'No id player. Continue insert';                    
                    
pg_query($dbconn"INSERT INTO player (name) VALUES ('$name_player')");
                    echo 
"Insert - ".$name_player;
                }
            } 
Пробивал перекодировать полученные данные
PHP код:
$arrLine file_get_contents($link_site);
$arrLine_t iconv('ISO-8859-1''UTF-8'$arrLine); 
но ошибка страницы 103
пробивал уже саму переменную перекодировать
PHP код:
$name_playericonv('ISO-8859-1''UTF-8'$name_player);
$id_player pg_query("SELECT * FROM player WHERE name='".trim($name_player)."'");
            if(!
$id_player){ 
                echo 
"<h3>Error player</h3>";
            }else{
                if(
pg_numrows($id_player)==null){
                    echo 
'No id player. Continue insert';                    
                    
pg_query($dbconn"INSERT INTO player (name) VALUES ('$name_player')");
                    echo 
"Insert - ".$name_player;
                }
            } 
103 ошибка страницы.
Ответить с цитированием