Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Запись в таблицу из файла
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Запись в таблицу из файла

Страниц (1): [1]
 

1. Zheka - 08 Апреля, 2008 - 11:49:39 - перейти к сообщению
Помогите! Требуется записать данные из файла *.eml в таблицу. Делаю следующим образом:

считываю файл в строку
$s = file_get_contents("D:\{4F62B488-CD7F-48B0-8A61-83107A826A87}.eml");

с помощью рег выражения выдергиваю необходимые данные:
ereg("Date: .*([0-9]{2}) ([[:alpha:]]{3}) ([0-9]{4}) ([0-9]{2}:[0-9]{2}:[0-9]{2}).*From: .*<([0-9]{4})@d066005.r066.pfr.ru>.*To: .*([0-9]{4})@d066005.r066.pfr.ru.*Subject:.*Content-Transfer-Encoding: .*([0-9]{3}-[0-9]{3}-[0-9]{3} [0-9]{2});([а-яА-Я]{2,}.*);([а-яА-Я]{1});(.*);",$s,$regs);

записываю в таблицу
mysql_query("INSERT INTO work_table set id=1, snils='".$regs[7]."', FromAdress='".$regs[5]."', ToAdress='".$regs[6]."', Year='".$regs[3]."', Day='".$regs[1]."', Time='".$regs[4]."', Month='".$regs[2]."'"); - эти данные заносятся отлично. Но данные с русскими символами заносятся не корректно.

Таблица создана с помощью phpMyAdmin. Таблица InnoDB. Все поля cp1251.

Должно получится что то типа этого:

ID FIO Snils Raion From To Date Time
1 Иванов И.И. 111-222-333 44 Л 0806 0801 1.1.2000 12:12:12

а получается:
1 трэют 111-222-333 44 ы 0806 0801 1.1.2000 12:12:12
2. EuGen - 08 Апреля, 2008 - 11:55:25 - перейти к сообщению
Проверьте кодировку файла, и кодировку сессии с БД. Тут уже есть куча тем по этому вопросу; не поленитесь, поищите.

 

Powered by ExBB FM 1.0 RC1