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 :: Версия для печати :: как перегнать сайт из кириллицы в utf8 одним разом? [2]
Форумы портала PHP.SU » » Кодировки и все смежное » как перегнать сайт из кириллицы в utf8 одним разом?

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

16. sKaa - 06 Февраля, 2012 - 11:12:11 - перейти к сообщению
armancho7777777, Обычный notepad - я те клянусь это так, сохранит utf-8 вместе с BOM.

illy, а ты остряк я смотрю, язвы из тебя так и сыпятся ))
17. armancho7777777 - 06 Февраля, 2012 - 11:15:50 - перейти к сообщению
sKaa пишет:
Обычный notepad - я те клянусь это так, сохранит utf-8 вместе с BOM.

Если реч о notepad++, то там кроме "преобразовать в utf-8" есть опция "преобразовать в utf-8 без BOM"
18. spirit - 13 Марта, 2012 - 16:45:57 - перейти к сообщению
Танцы с бубном надоели.
Попытаюсь описать проблему как можно понятней.
Значит была база данных и туда пользователями потихоньку заносились данные. И писалось все в cp1251. Сам движок и его страницы были в ansi.
И все это хорошо работало до того момента когда потребовалось внедрить jquery - и подгружать и сохранять некоторые формы асинхронно. JQuery, как выяснилось, не дружит ни с чем кроме как c utf-8. И пошел процесс перекодировки страничек. Все, хорошо - странички в utf-8. В метах прописан utf-8 и браузер это прекрасно понимает. НО! MySql тоже надо сконвертить! Как? Очень просто - дамп средствами phpMyAdmin, изменение кодировки дампа на utf-8 средствами NotePad++ и обратный процесс загрузки дампа. Вот и данные стали по русски и в utf-8... за исключением некоторых букв - И,Э,ш...

Погуглив проблему понял, что средство одно: провести замену кода битых символов так как у mysql кодировка этих символов отличается.
Классический пример решения из интернета:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. UPDATE `tbl` SET `pole` = REPLACE(
  3.  `pole`,
  4.  CONCAT( CHAR(209), CHAR(63) ),
  5.  CONCAT( CHAR(209), CHAR(136) )
  6.  );
  7.  
  8.  UPDATE `tbl` SET `pole` = REPLACE(
  9.  `pole`,
  10.  CONCAT( CHAR(208), CHAR(63) ),
  11.  CONCAT( CHAR(208), CHAR(152) )
  12.  );
  13.  


Это действительно решает проблему, но дело в том что у меня и новые записи уже после конвертации пишутся касячно. Помогайте! Голова взорвалась, мозг ушел от меняНедовольство, огорчение Огорчение

 

Powered by ExBB FM 1.0 RC1