Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблема с кодировкой

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Domain
Отправлено: 17 Марта, 2010 - 15:32:16
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)




Из базы данных методом пост передаются данные скрипту, который выводит их на экран.
Во всех браузерах кроме ФФ3 данные выводятся нормально.
ФФ3 видит же их нормально только в утф8, все отсальные видят правельно в windows-1251.
В базе данные хранятся как cp1251.

В чем проблема?
 
 Top
JustUserR
Отправлено: 17 Марта, 2010 - 17:41:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Domain пишет:
Во всех браузерах кроме ФФ3 данные выводятся нормально.
Не удивительно - может быть в FF решими сделать как обычно не по стандартку и поменять базовую кодировку формы - попробуйте изменить поле accept-charset или уже на стороне сервера перекодировтаь полученные из формы данные с помощью iconv


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Ch_chov
Отправлено: 17 Марта, 2010 - 18:02:22
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




Чтобы браузер правильно определял кодировку нужно:

1. Отправлять заголовок с указанием кодировки.
2. Добавлять соответствующий мета тег в страницу.
3. В настройках браузера должно быть включено автоматическое определение кодировки.

Если браузеру явно не указывать кодировку, то он выберет её сам и не всегда правильно.

(Отредактировано автором: 17 Марта, 2010 - 20:14:01)

 
 Top
Domain
Отправлено: 17 Марта, 2010 - 21:07:51
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)




Ничего не помогало, захардкодил Ха-ха

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $agent = $_SERVER['HTTP_USER_AGENT'];
  3. if(strstr($agent, "Mozilla"))
  4. {   }
  5.  
)
 
 Top
Domain
Отправлено: 18 Марта, 2010 - 19:51:11
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)




Переименование название файла с русского на англ при загрузке.

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $oldfilename =basename($_FILES['file_domain']['name']);
  3.         $oldfilename = str_replace(array('Є','є',' ','і','ї','а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц',
  4.          'ч', 'ш', 'щ', 'ь', 'ъ', 'ы', 'э', 'ю', 'я', 'І','Ї','А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф',
  5.          'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ь', 'Ъ', 'Ы', 'Э', 'Ю', 'Я'), array('E','e','_','i','y','a', 'b', 'v', 'g', 'd', 'e', 'jo', 'zh', 'z', 'i', 'i', 'k', 'l', 'm', 'n', 'o', 'p',
  6.           'r', 's', 't', 'u', 'f', 'x', 'c', 'ch', 'sh', 'sch', 'j', 'j', 'y', 'e', 'y', 'ja','I','Y', 'A', 'B', 'V', 'G', 'D', 'E', 'Jo', 'Zh', 'Z', 'I', 'I', 'K', 'L', 'M',
  7.           'N', 'O', 'P', 'R', 'S', 'T', 'U', 'F', 'X', 'C', 'Ch', 'Sh', 'Sch', 'J', 'J', 'Y', 'E', 'Y', 'Ja'), $oldfilename);
  8.  
  9.  


При переименовании файла типа "блабла блабла" создается файл типа _blabla
Почему отрывается передняя часть названия?
Если же название типа "блабла" сохранятется вообще только расширение типа ".rar"

В чем проблема? Подскажите более надежный пример кода для даннной задачи пожайлуста.
(Добавление)
Разобрался, проблема была в функции basename - она срезала название файла.

Всем спасибо за помощь))
 
 Top
JustUserR
Отправлено: 19 Марта, 2010 - 18:39:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Ch_chov пишет:
Чтобы браузер правильно определял кодировку нужно
Так проблема была не в получаемой кодировке а отправляемой от формы кодировке - и все браузеры отправляли в той же кодировке что и сама HTML-страница а этот нет - но в форме есть аттибут который отвечает за передаваемую кодировку
Вообще можно было сделать перекодировку на JS и отправлять сразу в urlencoded-виде


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB