[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кодировка, мать ее!
seine
Вот я чёт не пойму, юникод должен быть юникод. И точка. Т.е. никаких проблем возникнуть не должно и он должен быть един во всех ликах.
Почему в MySQL существует столько разновидностей UTF-8?! Их там дюжина, не меньше!
Ну это ладно, хуже другое. Создал я БД, создал таблицу, в таблице создал поле (яйцо в утке, утка в зайце) и указал добрый молодей (читай я) кодировку utf-8 general_ci.
Потом в netbeans создал скриптик, который в эту утку, парднон, поле записывает словечко. И вот же ж какая штука, если скрипт в netbeans написан в кодировке cp1251 (и следовательно данные отправляются в этой же кодировке), то phpmyadmin показывается словечко читаемым, а если в netbeans указать кодировку utf-8, то работает все так же на ура, как и cp1251, но вот в phpmyadmin уже это словечко показывается в... ну вы поняли, иероглифами (читай кракозяброй). Мне то в принцпипе ниче, главное, что скрипт работает, но не удобно просматривать данные в бд.
Что это за фигня? phpmyadmin виноват, как я понимаю, или я с кодировками чёт не то сделал.

Написал может не очень понятно саму суть, повторюсь: скрипт работает одинаково независимо от кодировки netbeans, а вот phpmyadmin отображает неправильно, если указана в netbeans utf-8.



Спустя 17 минут, 37 секунд (21.12.2009 - 10:03) qpayct написал(а):
тебе сюда

Спустя 2 часа, 45 секунд (21.12.2009 - 12:04) twin написал(а):
Не совсем. Все дело в том, что PMA (PhpMyAdmin) воспринимается как внутренность SQL, раз с него можно управлять базой данных.
Так вот PMA - не что иное, как обыкновенный сайт. Написан на PHP. Работает так же, как и любой другой. Так что ведет себя так, как его настроишь. Если таблица в базе выполнена на utf-8, а кодировка соединения PMA указана иная (cp1251), то разумеется булет видно фигню. Но это не значит, что фигня находится в базе. Это значит, что пыхадмин так её отображает, потому что криво настроен.
Укажи кодировку сопосмтавления на главной странице админа и все бадет шоколадно.

Спустя 47 минут, 37 секунд (21.12.2009 - 12:51) seine написал(а):
А почему столько разновидностей utf-8? Я всю жизнь был уверен, что юникод не должен делитться на женераль_си, роман_си, словак_(что еще за словак!)_си и т.д.

он же уникод! это как плащ унисекс - один на всех!

Спустя 19 минут, 57 секунд (21.12.2009 - 13:11) seine написал(а):
Цитата (twin @ 21.12.2009 - 09:04)
Не совсем. Все дело в том, что PMA (PhpMyAdmin) воспринимается как внутренность SQL, раз с него можно управлять базой данных.
Так вот PMA - не что иное, как обыкновенный сайт. Написан на PHP. Работает так же, как и любой другой. Так что ведет себя так, как его настроишь. Если таблица в базе выполнена на utf-8, а кодировка соединения PMA указана иная (cp1251), то разумеется булет видно фигню. Но это не значит, что фигня находится в базе. Это значит, что пыхадмин так её отображает, потому что криво настроен.
Укажи кодировку сопосмтавления на главной странице админа и все бадет шоколадно.

таблицы в базе были utf-8, и сопоставление стоит (и стояло) utf8_general_ci.
только раньше скрипт слал текст в кодировке ср1251 (причем я ее нигде не преобразовывал в utf8, и почему-то все работало. хм, странно. только сейчас об этом подумал blink.gif ), а сейчас шлет в utf8.
когда читает что-то из базы, то тоже в обоих случаях отображаются русские буквы без глюкоув.
схематично попробую изобразить так

ср1251
ввел текст по-русски
просмотр в РМА по-русски
вывод текста по-русски

utf8
ввел текст по-русски
просмотр в РМА ни разу не по-русски
вывод текста по-русски</span>


что-то с настройками РМА, только кодировка сопоставления ведь указана utf8_general_ci (и все таблицы в ней же), так почему же РМА показывает "фигню"?!

Спустя 8 минут, 11 секунд (21.12.2009 - 13:19) twin написал(а):
Цитата
А почему столько разновидностей utf-8? Я всю жизнь был уверен, что юникод не должен делитться на женераль_си, роман_си, словак_(что еще за словак!)_си и т.д.

Это не кодировка. Это споставление. То есть это набор правил, по которым сопоставляются символы для сортировки. Это к отображению отношения не имеет

Спустя 3 минуты, 26 секунд (21.12.2009 - 13:23) seine написал(а):
ааа, гранд мерси, понял :-)

twin, а почему может не отображаться корректно до сих пор? и почему раньше, когда русстекст был в ср1251 он в таблице нормально сохранялся, несмотря на utf8! я в шоке! ph34r.gif

Спустя 14 минут (21.12.2009 - 13:37) twin написал(а):
Где не отображается? В PMA? Ну так его и настраивай. Если скрипт нормально отрабатывает, значит в базе все нормально, просто ты через него так видишь криво.

Спустя 14 минут, 38 секунд (21.12.2009 - 13:51) seine написал(а):
да, в базе все нормально, я это с самого начала знал.
как настроить РМА? сопоствление стоит utf8_general_ci, а какие еще могут быть настройки?
не так спросил.
где именно настравить? в какую сторону грести (если можно так сказать)?

Спустя 13 минут, 13 секунд (21.12.2009 - 14:05) twin написал(а):
На главной странице. Там где то слева домик должен быть, на него жми. Вот будет слева в основном фрейме "Создать новую БД", а справа настройки. Там и поройся.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.