Задавайте вопросы, мы ответим
Вы не зашли.
Ситуация: делаю в консоли - insert into sometable values ('какое то значение на русском языке'). После просмотра все ок (буквы русские и все читается), но если пытаюсь закинуь инфу через php или через LOAD DATA INFILE, буквы остаются русскими но получается абракадабра типа 'укйука йцуаввшф'. Уже перепробывал много чего - результат ноль. Что можно сделать?
Неактивен
Используйте параметр CHARACTER SET при загрузке данных через LOAD DATA INFILE
(http://dev.mysql.com/doc/refman/5.0/en/load-data.html).
При работе с PHP не забывайте выполнять SET NAMES.
Неактивен
Все делал, никак не работает.
Неактивен
В какой кодировке Ваша таблица? В какой кодировке данные в файле?
Какую кодировку Вы используете в терминале? Какая кодировка используется
в PHP?
Неактивен
таблица - cp1251
файл utf8
про терминал не вкурсе - как узнать?
php - cp1251 (mysql_query('select collation("значение")' - возвращает cp1251);
Неактивен
php - cp1251 (mysql_query('select collation("значение")' )-возвращает cp1251_general_ci)
Неактивен
К сожалению, узнать это изнутри нельзя. Ни терминал, ни PHP.
В PHP, если Вы, например, хотите получить страницу в cp1251 - Вам нужно
сказать MySQL, что данные Вы хотите принимать и отдавать в cp1251:
mysql_query("SET NAMES cp1251");
Точно так же с терминалом - Вам нужно сказать MySQL, в какой кодировке
Вы работаете. Под Linux можете попробовать ввести команду locale, Ваш терминал
работает в ней (если Вы не меняли переменные окружения). Под Windows,
по-моему, по умолчанию, терминал работает в cp866, но могу ошибаться.
При загрузке файла в терминале проще всего сделать так:
SET NAMES utf8; LOAD DATA INFILE 'path/to/file' INTO TABLE `table` CHARACTER SET utf8 ...
Неактивен