ФорумПрограммированиеPHP для идиотов → Проблема с кодировкой в mysql

Проблема с кодировкой в mysql

  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 21 июня 2008 г. 14:17

    Вобщем не хочет добавлять русские буквы в бд, пишет
    Data too long for column 'username' at row 1

    Кодировка стоит latin1_swedish_ci

    Пробовал установить через set другную кодировку - всеравно latin1_swedish_ci , хотя раньше при latin1_swedish_ci русские буквы добавлялись нормально. Столбик varchar.
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 21 июня 2008 г. 14:22, спустя 4 минуты 40 секунд

    ALTER TABLE `table` CHANGE `field` `field` VARCHAR( 255 ) CHARACTER SET cp1251 COLLATE cp1251_general_ci

    Так не проходит?
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 21 июня 2008 г. 14:31, спустя 9 минут 34 секунды

    А блин, не в том проблема.
    Data too long for column 'username' at row 1

    При перекодировке не хватает длины поля =)
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 21 июня 2008 г. 14:49, спустя 18 минут 5 секунд

    я ставил длинну 1000, а добавлял всего 1 букву - та же самая ошибка
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 21 июня 2008 г. 15:44, спустя 54 минуты 14 секунд

    Frozzeg, поставь тип TEXT, а не VARCHAR, и скажи что в данном случае получается.
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 21 июня 2008 г. 15:57, спустя 13 минут 29 секунд

    та же ошибка
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 21 июня 2008 г. 16:04, спустя 6 минут 50 секунд

    трабла таки в кодировке. поменяй на cp1251_general_ci или utf8_general_ci
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 21 июня 2008 г. 17:04, спустя 59 минут 40 секунд

    скажите что нужно указать в скрипте чтобы таблица создавалась с нормальной кодировкой
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 21 июня 2008 г. 18:34, спустя 1 час 30 минут 42 секунды

    это не в скрипте надо указывать, а при создании таблицы.
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 21 июня 2008 г. 19:27, спустя 52 минуты 13 секунд

    а таблица скриптом и создается
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 21 июня 2008 г. 20:08, спустя 41 минуту 11 секунд

    CREATE TABLE `test`.`tst` (
    `one` VARCHAR( 20 ) CHARACTER SET utf8 COLLATE utf8_general_ci ,
    `two` VARCHAR( 20 ) CHARACTER SET cp1251 COLLATE cp1251_general_ci
    )
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 21 июня 2008 г. 20:24, спустя 16 минут 42 секунды

    спасибо теперь все ок
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 21 июня 2008 г. 22:30, спустя 2 часа 5 минут 42 секунды

    Теперь проблема в другом, при выводе данных и бд все в виде "??????? ?? ? ???"


    пробовал следующее

    @mysql_query("SET NAMES cp1251");
    mysql_query("set character_set_client ='cp1251'");
    mysql_query("set character_set_results ='cp1251'");
    mysql_query("set collation_connection ='cp1251_general_ci'");


    не помогло


    TYPE=MyISAM  DEFAULT CHARSET=cp1251 DEFAULT COLLATE=cp1251_general_ci


    тоже не помогло
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 22 июня 2008 г. 1:38, спустя 3 часа 7 минут 38 секунд

    мда, в итоге вернулся к тому что было и теперь работает…
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!