Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: phpmyadmin и UTF8  (Прочитано 27068 раз)
0 Пользователей и 6 Гостей смотрят эту тему.
DR.XXX
Помогающий

kz
Offline Offline

« : 22-03-2010 07:26 » 

Здравствуйте всем!!! Есть сайт. Данные для этого сайта хранятся в phpmyadmin и выводятся оттуда. Текст на казахском языке, и проблема в том что на страницу вместо нормальных букв выводятся непонятные символы. Читал что нужно использовать кодировку UTF8. Но вот как ее правильно использовать? Как внедрить в phpmyadmin?

Спасибо за внимание!
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 22-03-2010 07:32 » new

DR.XXX, не путай phpmyadmin (web-интерфейс управления базой mysql) с СУБД (mysql)

То что ты написал - понятно.
А теперь, небольшая просьба, в свете новых знаний, переформулируй вопрос Улыбаюсь

зы. проверь мтетатег
Код:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #2 : 22-03-2010 07:34 » 

Мда.. phpmyadmin - это просто приложение на PHP, которое предоставляет web-интерфейс для администрации MySQL-базой данных...
Правильнее говорить что данные хранятся в MySQL-базе.
Проще всего поискать через тот же phpmyadmin настройки для всей базы и для нужной схемы или таблицы.
Если есть доступ к файлу с настройками базы (my.ini или my.cnf) - посмотрите значение параметра [mysql]-[default-character-set], а для конкретной таблицы есть параметры "Charset" и "Collation".
Еще, пожалуй, стоит узнать у вас версию MySQL сервера и PHP.
Sla, правильно ,еще и кодировку вывода страницы проверить надо..
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
DR.XXX
Помогающий

kz
Offline Offline

« Ответ #3 : 22-03-2010 08:26 » 

Да, согласен, неправильно выразился, прошу прощения))  Sla, метатеги проверил, там стоит UTF8.  baldr,
character set    cp1251

character sets    latin1 big5 czech euc_kr gb2312 gbk sjis tis620 ujis dec8 dos german1 hp8 koi8_ru latin2 swe7 usa7 cp1251 danish hebrew win1251 estonia hungarian koi8_ukr win1251ukr greek win1250 croat cp1257 latin5

Версия MySQL 3.23.53-max, phpMyAdmin 2.5.6, PHP4. 
Да мне самое главное чтобы в MySql можно было добавлять текст на каз.языке и наоборот вытаскивать оттуда информацию на страницу, и чтобы были понятные символы)).

И baldr, если в списке character sets нет UTF-8, то как быть? туда его добавлять? 
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 22-03-2010 08:48 » 

DR.XXX, ты сохраняешь данные в cp151, а выводить собираешься в utf8
Найди одно отличие
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
DR.XXX
Помогающий

kz
Offline Offline

« Ответ #5 : 22-03-2010 09:42 » 

Sla, если честно я вообщен не уверен поможет ли мне UTF8.  В списке character sets utf8 нет. Или он может по другому называться?
Записан
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #6 : 22-03-2010 10:06 » 

Мда, MySQL 3.23, PHP4.. Кладбище какое-то Улыбаюсь А поновее не было? Поддержка UTF8 там только-только появилась, как я понял из документации...
Вот, нашел в комментариях к странице http://dev.mysql.com/doc/refman/4.1/en/charset-unicode.html
Цитата
if you get data via php from your mysql-db (everything utf-8)
but still get '?' for some special characters in your browser
(<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />),
try this:

after mysql_connect() , and mysql_select_db() add this lines:
mysql_query("SET NAMES utf8");
worked for me.
Проверь также что строковые поля у тебя имеют тип VARCHAR, а не CHAR. Может помочь.
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
DR.XXX
Помогающий

kz
Offline Offline

« Ответ #7 : 22-03-2010 11:29 » 

baldr, только что установил новую версию)) теперь у меня PHP5, MySQL5. И кодировка там по умолчанию стоит UTF-8. Но к сожалению, шрифт так же не распознается. То ли это из за DreamWeaver(хотя в настройках указал Юникод utf, и в метатэгах стоит utf8), то ли из-за обращения к странице через localhost. Потому что если просто создавать html файл на блокноте и сохранить в UTF8, затем открыть напрямую (не через localhost) то шрифт распознается.     
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 22-03-2010 11:39 » 

DR.XXX, работать с такой древностью не стоит.  В древности типа 3.23 и 4.x полно проблем с юникодом, сортировкой и т.п. Настоятельно рекомендую перейти на MySQL 5.0 или 5.1 (конечно, не на любой, а на самые последние релизы). Ветки 5.4 и 5.5 не рекомендую - они девелоперские.
Если используется ODBC-драйвер, то стоит сменить MySQL Connector на версию 5.х (хотя 3.51 все еще коннектится к MySQL 5.х, но не поддерживает весь фуекционал).
PHP тоже стоит обновить до последнего в ветке 5.2.х (не 5.3.х и не 6.х!!!)

При работе с UTF-8 надо знать, что размер поля CHAR/VARCHAR задается в байтах, а на каждый UTF-8 символ MySQL резервирует три байта. Т.е. если нужно гарантированно 40 знаков, то задавай VARCHAR(120).

Рекомендую выполнять сразу после коннекта во всех клиентах:

Код:
SET NAMES utf8;
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
DR.XXX
Помогающий

kz
Offline Offline

« Ответ #9 : 22-03-2010 11:58 » 

RXL, спасибо за советы! На данный момент получилась вот такая картина: теперь база MySql воспринимает казахский шрифт отлично!(до этого в таблицу каз. символы не добавлялись-выводил ошибку). Но при на сайте проблема осталась. Главное в MySql отображает нормально, а на страницу выводятся вопросики   
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 22-03-2010 11:59 » 

DR.XXX, разберись с кодировкой html страницы
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #11 : 22-03-2010 12:23 » 

DR.XXX, попробуй в php вывести какую-нибудь строку из базы в файл и посмотреть что там будет - в какой кодировке...
Еще посмотри настройки апача с кодировками - у тебя же на Apache сайт?
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
DR.XXX
Помогающий

kz
Offline Offline

« Ответ #12 : 22-03-2010 14:20 » 

baldr, нет, у меня Денвер. В настройках после установки новой версии, все само встало на UTF8. 
Как ты и сказал, попробывал вывести из базы строку, но проблема осталась((( Напомню, при сохранении в блокноте в формате utf8, шрифты отображаются нормально. Как только обращаюсь через http://as/news.php, то снова Не понял такие символы.     
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #13 : 22-03-2010 14:39 » 

DR.XXX, покажи сформированную страницу
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
DR.XXX
Помогающий

kz
Offline Offline

« Ответ #14 : 22-03-2010 15:01 » 

Если я правильно понимаю, то наверное этот код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; utf-8">
-------------------------------------
--------------------------------------
 <td><p> Lorem Ipsum - ?то текст-часто используемый в печати и вэб-дизайне. Lorem Ipsum является стандартной для текстов на латинице с начала XVI века. <br><p class='post_view'>Просмотров: 31</p></td>
          </tr>
вместо вопросительного знака нужен символ - буква "Қ"
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #15 : 22-03-2010 15:19 » 

найди отличия
Код:
<meta http-equiv="Content-Type" content="text/html; utf-8">
Код:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
DR.XXX
Помогающий

kz
Offline Offline

« Ответ #16 : 23-03-2010 09:43 » 

СПАСИБО ВСЕМ! проблема решена. Вот что помогло: установка новой версии денвера(php5,mysql5), замена сp1251 на utf8 в файле my.cnf, и в httpd.conf -  AddDefaultCharset utf8, и пересохранение всех страниц на кодировку utf8.
Записан
kai121
Гость
« Ответ #17 : 17-09-2010 08:51 » 

Всем доброго времени суток. У меня похожая проблема.
У меня Apache 2.2.16, MySQL 5.0.51a, PHP Version 5.2.14, PHPMyAdmin 3.1.3.
Все таблицы в базе данных mysql сохранены в кодировке UTF-8 (utf8_general_ci).
Сами php странички и скрипты тоже сохранены в UTF-8.
в head страниц написано вот так

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Казахские символы нормально отображаются в браузере. Но когда я открываю phpmyadmin и просматриваю строки таблиц то там казахские символы идут кроказябриками. Что мне сделать чтобы в phpmyadmin тоже были нормальные казахские символы...

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

в файле my.ini в двух местах было так:

default-character-set=latin1

Эти две строки поменял на:
default-character-set=utf8

в файле httpd.conf  добавил в произвольном месте:

AddDefaultCharset utf8

Раньше этой строки не было в в файле httpd.conf.

Но в PhpMyAdmin все равно крокозябрики...

Что делать?

Спасибо
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #18 : 17-09-2010 08:56 » 

а в какой кодировке страница phpadmin?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
kai121
Гость
« Ответ #19 : 17-09-2010 09:14 » 

а в какой кодировке страница phpadmin?
Вот взял с HEAD исходного кода страницы PhpMyAdmin
<title>phpMyAdmin 3.1.3 -  ma</title>
<meta http-equiv="Content-Type"  content="text/html; charset=utf-8" />

Пишет что charset=utf-8
Только не уверен так это смотреть или по другому..
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines