| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > Проблемы с кодировкой |
| Автор: Render 26.3.2006, 19:09 |
| DB: MySQL Version: 5.0.18 Описание: Есть база по умолчанию кодировка cp1251 Скрипт вставляет данные в таблицу, на русском->ошибка Data too long for column 'name' at row 1, помогает только: mysql_query ("set character_set_client='cp1251'"); mysql_query ("set character_set_results='cp1251'"); mysql_query ("set collation_connection='cp1251_general_ci'"); перед запросом!!! На англ. всё нормально! Если у таблицы charset=latin1, то ошибка не выскакивает, в таблице русские символы "?????", но при запросе на выборку всё отображается нормально... С 4 версией было тоже самое вылечил, с 5 почему-то не хочет??? Это же не выход перед каждым запросом писать эти три сточки... Выручайте!!! |
| Автор: Kesh 26.3.2006, 21:06 |
| Render, А что "SET NAMES cp1251" не помогает? Добавлено @ 21:07 Это один раз делается, сразу после connect... |
| Автор: Render 26.3.2006, 21:11 |
| не помогает! Я уже всё перепробывал причем работает только когда присутсвуют эти три строки, иначе никак! Где копать?? |
| Автор: VDaemon 27.3.2006, 00:47 | ||||
Во-первых кодировку необходимо указать перед выбором БД
Во-вторых в запросе при создании таблицы
У меня тоже MySQL 5.0.18, всё должно работать. |
| Автор: sergejzr 27.3.2006, 00:55 |
| Модератор: Название темы должно отражать ее суть! |
| Автор: Baiduzniy 6.4.2006, 14:55 |
| Если вкладывать данные в базу посредством PHP и забирать так же, все нормально отображает. |
| Автор: Ignat 6.4.2006, 14:58 |
| Baiduzniy, а если не используется PHP? |