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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Перекодировка

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Данных mysql
Еугений
Отправлено: 15 Августа, 2011 - 23:21:25
Post Id


Частый гость


Покинул форум
Сообщений всего: 176
Дата рег-ции: Апр. 2011  


Помог: 1 раз(а)




Всем привет. У меня в таблице базы данных достаточно много записей и все в кодировке cp1251 и надо перекодить в utf-8. Можно все записи перекодить? Я используя пма.. Или придется все удалить и в самом начале поставить нужную кодировку utf-8?
 
 Top
КЫР
Отправлено: 15 Августа, 2011 - 23:27:45
Post Id



Частый гость


Покинул форум
Сообщений всего: 168
Дата рег-ции: Авг. 2011  
Откуда: Новосибирск


Помог: 2 раз(а)




если затраты времени не принципиальны, то самый просто вариант

PHP:
скопировать код в буфер обмена
  1.  
  2. $q = mysql_query('SELECT * FROM table');
  3. for ($i=0; $i<mysql_num_rows($q); $i++)
  4. {
  5. $new_field1 = iconv('utf-8','windows-1251',mysql_result($q,$i,'old_field1'));
  6. $new_field2 = iconv('utf-8','windows-1251',mysql_result($q,$i,'old_field2'));
  7. ...
  8. $new_fieldN = iconv('utf-8','windows-1251',mysql_result($q,$i,'old_fieldN'));
  9. mysql_query('UPDATE table SET old_field1="'.$new_field1.'" ... WHERE id='.mysql_result($q,$i,'id'));
  10. }
  11.  


-----
Fuck you guys, I'll going home
 
 Top
Еугений
Отправлено: 15 Августа, 2011 - 23:40:05
Post Id


Частый гость


Покинул форум
Сообщений всего: 176
Дата рег-ции: Апр. 2011  


Помог: 1 раз(а)




Благодарю! А можно как нибудь через пма через настройки... Ну если нет то ладно!
 
 Top
КЫР
Отправлено: 15 Августа, 2011 - 23:42:10
Post Id



Частый гость


Покинул форум
Сообщений всего: 168
Дата рег-ции: Авг. 2011  
Откуда: Новосибирск


Помог: 2 раз(а)




Насколько я знаю там можно только кодировку самой БД изменить, но не старые значения


-----
Fuck you guys, I'll going home
 
 Top
Еугений
Отправлено: 15 Августа, 2011 - 23:47:58
Post Id


Частый гость


Покинул форум
Сообщений всего: 176
Дата рег-ции: Апр. 2011  


Помог: 1 раз(а)




Жаль под рукой нет компа но кажется еще можно так- создать таблицу с такими же столбцами, только в нужной кодировке и туда экспортировать все значения из старой базы данных,..

(Отредактировано автором: 15 Августа, 2011 - 23:50:02)

 
 Top
DiosPA
Отправлено: 16 Августа, 2011 - 00:52:25
Post Id



Частый гость


Покинул форум
Сообщений всего: 180
Дата рег-ции: Янв. 2011  
Откуда: Россия


Помог: 2 раз(а)




Через Навикат )
сначала экстпортируй потом импортируй, во время экспорта ставь utf-8 и всё )
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB