Добрый день!
Столкнулся с проблемой выборки данных из БД при использовании запроса с русскими буквами.
есть БД test в кодировке utf8_general_ci
в ней таблица так же в кодировке utf8_general_ci
в таблице 2 столбца eng и rus в которых данные
eng rus
GGGG ГГГГГ
GGGG ГГГГ
и есть php код
PHP:
скопировать код в буфер обмена
<?PHP $dbname = 'test'; if (!$link) { echo 'Ошибка подключения к mysql'; } $sql = "SELECT count(*) from `test` WHERE `eng` like 'ГГ%'"; $k_el = $row[0]; echo $k_el; ?>
При использовании sql запроса
SELECT count(*) from `test` WHERE `eng` like 'ГГ%'
Выдает: 0
При использовании запроса
SELECT count(*) from `test` WHERE `eng` like 'GG%'
Выдает 2, как и положено.
Т.е. не идет выборка по русским буквам из БД.
Если делать базу и таблицы в cp_1251_general_ci
то выдает ошибку
Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation 'like'
Проблема в кодировке, но как это исправить ?(Отредактировано автором: 29 Апреля, 2016 - 13:32:02)
|