В теме 169 сообщений

Всем здрасти). Вопрос возник с кодировками php+mysql. Вместо русского вопросы - при отображении названии полей

Часть кода. начинается так.

<?
 $conn=mysql_connect("localhost","root",""); 
		 // устанавливаем соединение
 $database = "client";
 $table_name = "all";
 mysql_select_db($database); // выбираем базу данных для 
		 // работы
 $list_f = mysql_list_fields($database,$table_name); 
		 // получаем список полей в базе
 $n = mysql_num_fields($list_f); // число строк в результате 
		 // предыдущего запроса (т.е. сколько всего 
		 // полей в таблице all)

Пробовал вставить <meta....... Ничего не изменилось. Может не туда засунул). Наверно в самом sql что-то, где-то...(

 

В phpmyadmin саму базу поставил в cp1251bin и таблицу также. (В пхпадм еще ошибка вот такая

Невозможно загрузить расширение mcrypt! Проверьте настройки PHP.

вылазиет, какие пакеты надо установить, вроде сам mcrypt установил, ниче не изменилось)

post-14956-1233998721_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а вопрос в чем?

знаки вопроса - именования полей?

кодировка страницы зависит от:

кодировки исходных данных - видимо в твоем случае поля БД

кодировки страницы - которой отдает сервер

если чтото не совпадает - видим такой результат как у тебя.

прописывать кодировку через "meta" не рекомендуется

 

вместо этого

$n = mysql_num_fields($list_f); // число строк в результате

// предыдущего запроса (т.е. сколько всего

// полей в таблице all)

достаточно сделать

sizeof($list_f);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

для этого нужно знать как минимум исходную кодировку

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возник вопрос по phpmyadmin.

Есть локальная база и удаленная.Мне нужно с локальной базы добавить в таблицу на удаленной базе строки.Как мне это сделать не удаляя табилицу на удаленной базе? Делал import(update),import(replace), но толку нет.Говорит,что успешно обновлено,но строки не добавляются.

Удалять и вставлять таблицу с локальной машины не вариант,т.к. некоторые значения пропадают,которые накопились на удаленной машине.

Извиняюсь за тавтологию,но думаю суть понятна :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

De7c3L при выводе из таблицы кодируй текст функцией iconv. Например в utf: $text=iconv("cp1251bin","utf-8",$text);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Всем здрасти). Вопрос возник с кодировками php+mysql. Вместо русского вопросы - при отображении названии полей

Часть кода. начинается так.

 

Лучше сразу после mysql_connect(); сделать

mysql_query( "SET NAMES cp1251" );

 

Это пояснит mysql-серверу в какой кодировке доставать данные.

iconv хорош, но не в этом случае. Представьте, каждый запрос нужно сопровождать iconv. Когда запросов 5 - не страшно, а если у вас тяжелое масштабируемое приложение с 1000 запросов? Лишняя нагрузка на сервер.

 

при выводе из таблицы кодируй текст функцией iconv. Например в utf: $text=iconv("cp1251bin","utf-8",$text);

 

Этот код нерабочий, точнее ведет себя на разных машинах нестабильно.

Лучше так:

$var = "Строка_в_нужной_кодировке";
$text=iconv("cp1251bin","utf-8",$var);
echo $text;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот такой вот вопросик:

Есть цикл DO WHILE. Выводились скрины jpg. Можно ли вместо jpg выводить swf?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

xct, подскажи пожалуйста, а как теперь сделать флешку ссылкой? Сделал вот так вот:

 

echo "<a href='http://www.site.ru/downloads.php?page_id=".$data4['download_id']."'><object type='application/x-shockwave-flash'  data='http://www.site.ru/downloads.php?cat_id=42&download_id=".$data4['download_id']."' width='106' height='142'></object></a>";

ссылку показывает, но она не кликабельна.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ссылка во флеше вроде как должна быть

обернуть флеш ссылкой это жесть

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Люди кто-нибудь может посоветует хостинг для создания сайта с PHP, MySQL и чтоб место было норм...))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у меня два VPS на hostlife.net - очень нравится.

+ аккаунт у taghosting.ru уже более 3 лет - эмоции положительные

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

masterhost.ru - если сайт серьезный и требует серьезной производительности.

Да и саппорт у них там вменяемый.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
был 5 лет назад.

 

Ага. Пару аккаунтов клиентов в свое время были там. И все было плохо: непонятные запреты, туповатая служба поддержки по телефону. И самое веселое: они на неделю закрыли к сайтам доступ с серверов робота яндекса (по официальной версии - из-за слишком высокой нагрузки и трафика, генерируемого ботами). Это доконало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Требуется вывести вместо всей фразы несколько слов. Если использую функцию substr то обрезает часто слова, что плохо. Кроме того, эта функция вставляет в конце непонятные символы, который в IE выводится как прямоугольник.

Подскажите как вывести определенное кол-во символов, при этом чтобы заканчивалось полным словом.

Пример моего неправильного кода:

while ($value = mysql_fetch_array($res)) {
$sub = substr($value['value'], 0, 77)."... ";
  print $i." <a href='/[~81~]&gid=".$value['dir_id']."&cardid=".$value['id_img']."'>".$sub."</a><br>";
  $i++;
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
function get_subphrase($txt,$limit)
{
foreach(explode(" ",trim($txt)) as $t)
{
if(!$res){$res=$t;continue;}
if(strlen($res) < $limit && strlen($res." ".$t) < $limit){$res.=" ".$t;}
if(strlen($res) > $limit || strlen($res." ".$t) > $limit){break;}
}
return $res;
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

mr.Faster cпасибо.

Нифика себе, круто, я таких и функций не знал:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти