За последние 24 часа нас посетили 17865 программистов и 1607 роботов. Сейчас ищут 1023 программиста ...

PHP + MySQL бъет картинку - 2

Тема в разделе "MySQL", создана пользователем _null_, 11 июл 2006.

  1. _null_

    _null_ Активный пользователь

    С нами с:
    7 июл 2006
    Сообщения:
    3
    Симпатии:
    0
    Помогло-то помогло... Только я че-то ничего не понимаю...

    когда я коннектился с UTF-8 - картинка билась, теперь я коннекчусь с latin1 - все нормально. Только радует это не сильно, поскольку нужна именно UTF-8
    И данные вбиты уже в UTF-8.

    А phpMyAdmin пишет, что у него MySQL-кодировка: UTF-8 Unicode (utf8), хотя по умолчанию таблицы создаются c latin1_swedish_ci

    Вобщем, запутался я чего-то...
     
  2. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    _null_

    кодировки есть на уровне:

    - внутреннего хранения
    - работы сервера
    - коннекта клиента
    - на уровн таблицы
    - на уровн поля

    проследи что б все было в UTF-8 и будет тебе счастье.

    clients(root):/usr/local/etc#>mysqladmin -p var | grep utf
    Enter password:
    | character_set_client | utf8 |
    | character_set_connection | utf8 |
    | character_set_database | utf8 |
    | character_set_results | utf8 |
    | character_set_server | utf8 |
    | character_set_system | utf8 |
    | collation_connection | utf8_general_ci |
    | collation_database | utf8_general_ci |
    | collation_server | utf8_general_ci |
     
  3. Vah

    Vah Активный пользователь

    С нами с:
    15 май 2006
    Сообщения:
    228
    Симпатии:
    0
    храни картинки в BLOB поле как бинарный файл и будет тебе большое щястье..... или ты имеешь ввиду что описания там и др. текст бьется??
     
  4. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    _null_

    я вот в базе храню только ID картинки, а саму картинку в файловой системе.
     
  5. Vah

    Vah Активный пользователь

    С нами с:
    15 май 2006
    Сообщения:
    228
    Симпатии:
    0
    440hz
    аналогично....
    и это правильнее...... хотя может человеку понравилось хранить все в БД...... все файлы в mysql!! будим теперь пользоваться ф-ей include() крайне редко!! все функции хранить в БД!! и вообще ВСЕ хранить в БД!! только index.php хранить как файл.... бгг... =)))()((())))
     
  6. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    я тоже так делал... сейчас немного по другому,,, так же храню картинки в файловой системе, но назначаю им специальные имена и есть функция которая их обрабатывает... очень красиво всё работает. без заноса информации о картинке в бд.
    фанатики могут и так сделать
     
  7. Vah

    Vah Активный пользователь

    С нами с:
    15 май 2006
    Сообщения:
    228
    Симпатии:
    0
    Hight
    таким фанатикам программировать противопоказанно...... ;)
     
  8. _null_

    _null_ Активный пользователь

    С нами с:
    7 июл 2006
    Сообщения:
    3
    Симпатии:
    0
    Можно, конечно, издеваться сколько угодно, но чтобы хранить картинки в файловой системе, нужны права записи в каталог, а на хостинге у меня их нет, поэтому без вариантов. Картинка хранится в BLOB.

    440hz
    спасибо за разъяснения. Оказывается, на хостинге был character_set_server = latin1 и collation_server = latin1_swedish_ci, а все остальное - utf8
    видимо, поэтому файл и бился
    сейчас вроде все пофиксил
     
  9. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    а поставить не пробовал?)
    скрипты-то свои как-то залил на хостинг этот.
     
  10. Vah

    Vah Активный пользователь

    С нами с:
    15 май 2006
    Сообщения:
    228
    Симпатии:
    0
    _null_
    вопрос.
    BLOB не имеет сопоставления с кодировкой..... это бинарное поле......
    Так собственно причем тут вообще кодировки??..... что-то ты не договариваешь.....
     
  11. _null_

    _null_ Активный пользователь

    С нами с:
    7 июл 2006
    Сообщения:
    3
    Симпатии:
    0
    Vah
    "Дети набросились, стали пытать
    Ох, если б мог я хоть что-то сказать..." :)

    Сам недоумеваю... Но тем не менее последовательность была такая:
    бъется картинка ->
    440hz говорит: проверь кодировку ->
    я пробую SET CHARACTER SET latin1 вместо utf8 - работает ->
    я офигеваю и счастлив, но потом вспоминаю, что мне нужна именно utf8 ->
    440hz говорит "проследи что б все было в UTF-8 и будет тебе счастье. " ->
    я ставлю SET character_set_server=utf8 и теперь уже кажись таки есть счастье :)

    Но судя по тому, что в доке по MySQL типы BLOB и TEXT описываются всегда вместе, причем в разделе String Types, здается мне, что обрабатываются они тоже одинаково...
     
  12. Vah

    Vah Активный пользователь

    С нами с:
    15 май 2006
    Сообщения:
    228
    Симпатии:
    0
    на текст - есть сопостовление а на бинари - ну какое тут сопоставление......