ш и И или эти чортовы кодировки в MySQL
1.
Estor (30.09.2009 / 16:46)
Может кто знает наиболее легкий способ разрешения данной проблемы без правки дампа ? и/или постоянного контроля за этим в скрипте.
P.s.: принудительоя установка кодировки соединения не помогает.
2.
Protus (30.09.2009 / 21:39)
кхм... не первый раз читаю про такую проблему, только вот ни разу не встречал
оно вообще где может попасться?
3.
Protus (30.09.2009 / 21:41)
спижжено
----
Проделал рекомендуемые шаманские действия. Как то:
1. прописать во все команды CREATE TABLE ... DEFAULT CHARSET=utf8
2. добавить команду после подключения к базе - mysql_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci'")
А зло оказалось в опции MySql сервера: default-character-set = cp1251
которая устанавливает следующие переменные сервера ( их можно посмотреть в PhpMyAdmin)
character_set_database и character_set_server
команда же SET NAMES меняет переменные character_set_client, character_set_results, character_set_connection
и б@#ть, пока не поменяешь глобальную переменную в настройках MySQL сервера default-character-set = cp1251
на default-character-set = utf8 счастья с сабжевыми буквами нет. Т.е. если на хостинге прописано у сервера 1251, то хоть забодайся - счастья не будет. Все выше сказанное опробовалось на MySQL сервере версии 4.1.16
4.
Серега (30.09.2009 / 23:13)
2, эта проблема может попасть при переносе базы форума phpBB-WAP версии все, кроме 7
5.
Димон (01.10.2009 / 02:43)
1. Попробуй изменить кодировку самого файла дампа на ютф
6.
Estor (01.10.2009 / 15:30)
У меня вот на новом хостинге попалась такая фигня. И это не зависит от скрипта или версии базы. А как так получается хз, нигде не нашел объяснения.
//
Вот и у меня все переменные стоят на юникоде, а сервер на этом 1251 и поменять никак
.
//
Кодировка дампа и так юникод.
//
может кто знает как выглядят эти букавки в изначальном виде. А то нашел обозначения, но их почему-то лис не переваривает.
7.
Lugaro (01.10.2009 / 17:40)
Вот как можно поправить дамп
http://snippets.pp.ru/article/130/
8.
Estor (01.10.2009 / 17:55)
Ну в принципе можно править и следить за поступающими данными... но всё-же моя лень вновь одолелеа меня и поэтому я залил все в cp1251 а после подключения к бд написал mysql_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci'"); . Всё-таки добавить 1 строчку в 1 файл легче чем править пусть всего 1,5 пусть своего но всё-же мегабайта кода.
URL:
https://visavi.net/topics/1121