D
DRUGADDICT
есть БД:
запрос show variable; показывает:
делал в putty (SSH)...
*************************************
ПЕРВЫЙ ВАРИАНТ:
когда выполняю запрос в php (сам php файл в UTF-8):
mysql_query("INSERT INTO `database`.`table` (`text`) VALUES ('Привет');");
в БД записывается это: пÑ?ивет < смотрю через phpMyAdmin.
на странице (сам файл страницы в UTF-8 так же установлен content="text/html; charset=utf-8") вывожу это, вижу нормальный русский текст, тобишь "Привет".
ВТОРОЙ ВАРИАНТ:
делаю "насильно" после соединения с БД:
mysql_query("SET names 'utf8' COLLATE 'utf8_general_ci'");
и выполняю тот же выше приведенный запрос:
mysql_query("INSERT INTO `database`.`table` (`text`) VALUES ('Привет');");
в БД записывается слово "Привет" < смотрю через phpMyAdmin. вывожу это на страницу, вижу нормальный русский текст... в то время как то что я записывал ранее выводится уже как пÑ?ивет
*************************************
объясните мне пожалуйста почему так происходит при ПЕРВОМ ВАРИАНТЕ?
как перекодировать БД если туда всё записано по ПЕРВОМУ ВАРИАНТУ - вернее, объясните сам алгоритм, что на что кодировать?
есть альтернатива перекодированию?
PS. модуль php:
iconv - есть;
php-mbstring - нету, возможности установить - нету;
- для чего это? ответ: по первому варианту в БД с установленной utf8_general_ci поиск русских символов регистроЗАВИСИМ, когда по ВТОРОМУ ВАРИАНТУ поиск регистроНЕзависим.
огромное спасибо за ранее!
запрос show variable; показывает:
Код:
character_set_client = utf8
character_set_connection = utf8
character_set_database = utf8
character_set_filesystem = binary
character_set_results = utf8
character_set_server = utf8
character_set_system = utf8
collation_connection = utf8_general_ci
collation_database = utf8_general_ci
collation_server = utf8_general_ci
делал в putty (SSH)...
*************************************
ПЕРВЫЙ ВАРИАНТ:
когда выполняю запрос в php (сам php файл в UTF-8):
mysql_query("INSERT INTO `database`.`table` (`text`) VALUES ('Привет');");
в БД записывается это: пÑ?ивет < смотрю через phpMyAdmin.
на странице (сам файл страницы в UTF-8 так же установлен content="text/html; charset=utf-8") вывожу это, вижу нормальный русский текст, тобишь "Привет".
ВТОРОЙ ВАРИАНТ:
делаю "насильно" после соединения с БД:
mysql_query("SET names 'utf8' COLLATE 'utf8_general_ci'");
и выполняю тот же выше приведенный запрос:
mysql_query("INSERT INTO `database`.`table` (`text`) VALUES ('Привет');");
в БД записывается слово "Привет" < смотрю через phpMyAdmin. вывожу это на страницу, вижу нормальный русский текст... в то время как то что я записывал ранее выводится уже как пÑ?ивет
*************************************
объясните мне пожалуйста почему так происходит при ПЕРВОМ ВАРИАНТЕ?
как перекодировать БД если туда всё записано по ПЕРВОМУ ВАРИАНТУ - вернее, объясните сам алгоритм, что на что кодировать?
есть альтернатива перекодированию?
PS. модуль php:
iconv - есть;
php-mbstring - нету, возможности установить - нету;
- для чего это? ответ: по первому варианту в БД с установленной utf8_general_ci поиск русских символов регистроЗАВИСИМ, когда по ВТОРОМУ ВАРИАНТУ поиск регистроНЕзависим.
огромное спасибо за ранее!