Мог бы написать кусок кода, но получиться "портянка" на всю страницу. Поэтому выкладываю ссылки на исходники: гостевая тут - 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") должно заработать?
Вот кусочек кода:
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");
Результат тот же вместо Привет - Ïðèâåò
Прописал строку $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 ок. пиши в личку