[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите со скриптом
akeron
Люди добрые! Жутко хочу поставить следующие скрипты на свой сайт, да вот только возникла проблемка с кодировкой. Сами скрипты работают отлично, но русский текст воспринимать отказываются. Причем статичный текст (названия ссылок, заголовки) отображается корректно, а все что добавляешь в базу выдается иероглифами. Пробовал разобраться самостоятельно, уже неделю сижу ничего не выходит, знаний маловато =(( Мне нужно чтобы скрипты работали в windows-1251. Кто-нибудь помогите мне, очень надо.. Сами скрипты не сильно навороченные, за их работу отвечает один основной файл, поэтому знающему человеку думаю не составит труда разобраться!
Мог бы написать кусок кода, но получиться "портянка" на всю страницу. Поэтому выкладываю ссылки на исходники: гостевая тут - http://www.planetluc.com/en/scripts_signme.php, галерея тут - http://www.planetluc.com/en/scripts_mygallery.php
Заранее благодарен!



Спустя 13 минут, 43 секунды (20.05.2010 - 09:49) Basili4 написал(а):
Все крайне просто база ваша использует кодировку отличную от windows-1251 скорее всего UTF-8 поэтому и все проблемы. Как решить есть три способа 1 использовать на сайте кодировку UTF-8 2- Использовать в базе кодировку windows-1251 3. Переводить с одной кодировки в другую iconv("windows-1251","utf-8","текст");- это из windows-1251 в utf-8 iconv("utf-8","windows-1251","текст"); - из utf-8 в windows-1251. Очень странно что вы неделю мучаетесь гугл в первой строчке выводит то что надо.

Спустя 13 минут, 34 секунды (20.05.2010 - 10:02) akeron написал(а):
Было бы понятно, если бы использовалась mysql база, а там просто файл data.dat. Но проблема в том, что уже туда записывается абра-кадабра.

Вот кусочек кода:
function saveposts($stuff){
global $dat;
$fp = fopen($dat, "w");
foreach ($stuff->data as $post){
$line = $post['id']."|".$post['time']."|".$post['name']."|".$post['email']."|".$post['www']."|".$post['post']."\n";
fputs($fp, $line);
}
fclose($fp);
}
Я так понимаю, что есть поставить после $line - iconv("utf-8","windows-1251","$line") должно заработать?

Спустя 19 минут, 32 секунды (20.05.2010 - 10:22) Basili4 написал(а):
$line=iconv("utf-8","windows-1251",$line); - переведет из utf-8 в windows-1251. и сохранит в $line потом её пишите в файл

Спустя 13 минут, 4 секунды (20.05.2010 - 10:35) akeron написал(а):
Не хочет =(( Исходная кодировка стоит iso-8859-1.
Прописал строку $line = iconv("iso-8859-1","windows-1251","$line");
Результат тот же вместо Привет - Ïðèâåò

Спустя 15 минут, 2 секунды (20.05.2010 - 10:50) Basili4 написал(а):
ОООООООООО я блин голову ломал http://ru.wikipedia.org/wiki/ISO_8859-1 - почитайте это кодировка известная также как latin-1 и по моему она вообще не содержит символы кирилицы.

Спустя 35 минут, 1 секунда (20.05.2010 - 11:25) akeron написал(а):
Действительно русских букв нету.. Короче не знаю как с ней бороться =((

Спустя 11 минут, 9 секунд (20.05.2010 - 11:36) Basili4 написал(а):
изменить кодировку с latin-1 на utf-8

Спустя 30 минут, 20 секунд (20.05.2010 - 12:06) akeron написал(а):
к сожалению снова иероглифы, правда на этот раз другие..

Спустя 8 минут, 32 секунды (20.05.2010 - 12:15) akeron написал(а):
Дружище Basili4, может ты поглядишь своими глазами, а то такая переписка боюсь ни к чему не приведет.. Если сделаешь, чтобы скрипты работали на windows-1251, с меня пару соток тебе на ВебМани. Я думаю для человека разбирающегося много времени это не займет!

Спустя 48 минут, 10 секунд (20.05.2010 - 13:03) Basili4 написал(а):
akeron ок. пиши в личку
Быстрый ответ:

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