Танцы с бубном надоели.
Попытаюсь описать проблему как можно понятней.
Значит была база данных и туда пользователями потихоньку заносились данные. И писалось все в cp1251. Сам движок и его страницы были в ansi.
И все это хорошо работало до того момента когда потребовалось внедрить jquery - и подгружать и сохранять некоторые формы асинхронно. JQuery, как выяснилось, не дружит ни с чем кроме как c utf-8. И пошел процесс перекодировки страничек. Все, хорошо - странички в utf-8. В метах прописан utf-8 и браузер это прекрасно понимает. НО! MySql тоже надо сконвертить! Как? Очень просто - дамп средствами phpMyAdmin, изменение кодировки дампа на utf-8 средствами NotePad++ и обратный процесс загрузки дампа. Вот и данные стали по русски и в utf-8... за исключением некоторых букв - И,Э,ш...
Погуглив проблему понял, что средство одно: провести замену кода битых символов так как у mysql кодировка этих символов отличается.
Классический пример решения из интернета:
CODE ( htmlphp):
скопировать код в буфер обмена
UPDATE `tbl` SET `pole` = REPLACE( `pole`, CONCAT( CHAR(209), CHAR(63) ), CONCAT( CHAR(209), CHAR(136) ) ); UPDATE `tbl` SET `pole` = REPLACE( `pole`, CONCAT( CHAR(208), CHAR(63) ), CONCAT( CHAR(208), CHAR(152) ) );
Это действительно решает проблему, но дело в том что у меня и новые записи уже после конвертации пишутся касячно. Помогайте! Голова взорвалась, мозг ушел от меня
|