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

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

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

« : 27-04-2006 10:17 » 

mySQL server 4.1
mySQL administrator 1.1.4
php 5.0.5

Проблема при использовании русского шрифта.
в файле my.ini изначально стояло default-character-set=latin1, в последствии пробовал ставить cp1251, utf8.
Перед созданием таблицы делал такую вещ:
Код:
mysql_query("set character set cp1251")
Вместо cp1251 пробовал utf8, cp1251_koi8. Ни запрос, ни установка default-character-set никак не влияли на кодировку созданой таблицы. mysqladministrator упорно показывает что charset:latin1, collacion:swedish_ci. Вручную, из администратора, установка кодировки таблицы в utf8 или сp1251 погоды не добавляет несмотря что кодировка меняется кирилицу никак не удается в базе хранить.

Добавляю в таблицу значения разными способами:
Код:
$query = "insert into ххх VALUES ( 'y' , '".md5($x)."' , 'что нибуть на русском' , '".date('Y-m-d G:i:s')."')";
И к фразе на русском можно применить такие танцы с бубном:
Код:
$str=iconv( 'Windows-1251' , 'utf-8' , 'фраза');
$query = "insert into ххх VALUES ( ".$str." ,……..
Вместо utf-8 и windows-1251 тоже разные вещи подставлял.
при извлечении и напрямую и через iconv результат всегда один
Код:
while ($row = mysql_fetch_array($result))
{
echo "<br>".iconv("UTF-8", "Windows-1251", $row[4])."<br>";
вместо кирилицы идут знаки вопросов. Не понял?? Не понял? Не понял
как с этим бороться ?
« Последнее редактирование: 15-12-2007 20:42 от Алексей1153++ » Записан
RomCom
Опытный

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

WWW
« Ответ #1 : 28-04-2006 00:08 » new

Были такие проблемы и не раз и у разных хост провайдерах.
Каждый раз проблема решалась вот по этому алгоритму:
Код:
mysql_connect(...);
mysql_select_db(...);
mysql_query("set character set cp1251");
у меня сложилось такое впечатление что у четверки навящевая идея насчет charset:latin1, collacion:swedish_ci Улыбаюсь
Записан

R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
Шнибл
Помогающий

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

« Ответ #2 : 28-04-2006 09:34 » 

но у меня к сожалению такая штукенция не проходит... а какая версия MySQL у вас была ?
Записан
RomCom
Опытный

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

WWW
« Ответ #3 : 28-04-2006 12:33 » 

У тогохостера где ентот трюк понадобился стоит MySQL 4.1.18.
Шнибл, эту штукенцию (set character set cp1251) надо каждый раз при подключении к базе делать, т.е. каждый раз когда добавляеш или выводш данные из базы.
Записан

R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
Шнибл
Помогающий

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

« Ответ #4 : 28-04-2006 13:47 » 

даже если через запрос писать mysql_query("set character set cp1251") всё равно выводятся Не понял
Записан
RomCom
Опытный

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

WWW
« Ответ #5 : 29-04-2006 06:45 » 

Код:
conn_id = mysql_connect(...);
mysql_select_db("...",conn_id);
mysql_query("set character set cp1251",conn_id);
$qry = mysql_query("select * from table",conn_id);
$row = mysql_fetch_assoc($qry);
print_r($row);
mysql_close(conn_id);
Если и так выводятся "??" вместо русских букв, то я пас.
Что то с настройками (или с установкой) mysql 4.1 не так, а я с его настройками дела никогда не имел.
Записан

R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
RXL
Технический
Администратор

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

WWW
« Ответ #6 : 29-04-2006 07:09 » 

Шнибл, все по кодировкам лежит в директории mysql-я share/charsets - посмотри, может у тебя cp1251 нам нет. Ну и в доке есть раздел траблов по кодировкам.
Записан

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

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

« Ответ #7 : 02-05-2006 12:13 » 

Проблему решил, спасибо за советы... оказалось сам накосячил проблема не в коде была а в том, в какой кодировке macromedia Dreamweaver MX сохраняла файлы *.php
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines