Здравствуйте! Имеется задача вставить из формы значения в БД. Сыпет ошибками. Код (Text): Invalid utf8 character string: 'Иванов Иван Иванович' Уже все перепробовал, все кодировки поменял, не помогает. Усложняет задачу то, что версии MySQL и PHP очень древние, 5.1.41 и 5.2.17 соответственно. Обновлять версии не предлагать. Кодировка сервера - CP1251, БД - UTF8 PHP: mysql_set_charset("utf8"); $fio = mysql_escape_string($fio); $rank = mysql_escape_string($rank); $razryad = mysql_escape_string($razryad); $region = mysql_escape_string($region); $query = "INSERT INTO users(name, level, rank, region) VALUES(`$fio`, `$razryad`, `$rank`, `$region`)"; $result = mysql_query($query);
Почему бы, для начала, все под UTF8 не загнать? Или это не твой велосипед, а выданный на руки и такое легаси, что не вариант вообще что-то трогать глобально? Не говоря уже об апдейте PHP и MySQL. Ну или о переходе с mysql_ на mysqli_ расширение. Это вот вообще мастхэв.
Стопицотый раз здесь говорю: В любом случае, даже с разной кодировкой на сайте/в базе, если правильно указать кодировку соединения, ошибки не будет!!!1111 Потому что mysql перекодирует данные на лету, надо только сообщить ему об используемой кодироваке "на клиенте". Раз уж ты используешь древнее расширение mysql, вызывай mysql_set_charset('cp1251') mysql_set_charset говорит не о кодировке базы, а о кодировке, которая нужна клиенту. --- Добавлено --- +1 к совету Fell-x27: лучше иметь везде UTF8
Я уже пробовал Так ещё хуже получается. Код (Text): 1054 : Unknown column 'Рван Рванович Рванов' in 'field list' --- Добавлено --- Я понимаю Ваше недоумение, поверьте, у меня такое же. Я бы сам давно уже на PDO все написал и успокоился бы. Но увы, я не могу на этой машине. Ничего под UTF8 перевести не могу, нельзя мне это трогать, не говоря уж о апдейте пхп и мускл. --- Добавлено --- Разобрался, помог совет этого человека. Спасибо.
@Stairdeck Чо? )))) Просто у тебя это был не единственный косяк, как выяснилось. Мы ещё увидимся, когда придешь спрашивать "почему в mysqladmin я вижу гумно вместо русского текста" или "почему все буквы выводится нормально кроме русской ш или у".
Нет)) Не спрошу)) Знаний у меня хватает, вот только внимательности бы немного)) В любом случае спасибо за помощь)