Проблем с encoding на сайта

ReD_z0n3

Registered
Имам следния проблем , когато някой пише на кирилица в сайта ми му излизат под формата на
Код:
 ????????????
когато сайта е на моя компютър нямам такъв проблем , когато е качен на хостинга става така са тея " ????????? "
 
пред всички заявки сложи

mysql_query("SET NAMES UFT8");

и направи всички полета да са с такъв енкодинг
 
macmen каза:
пред всички заявки сложи

mysql_query("SET NAMES UFT8");

и направи всички полета да са с такъв енкодинг

Можеш ли да ми кажеш заявката от какъв точно код се състой , защото не разбирам мн . мн .
 
имаш заявка

mysql_query("SET NAMES UFT8");
$q "INSERT INTO ......."

или
mysql_query("SET NAMES UFT8");
$q "SELECT * FROM......."

или правиш следната функция да не пишеш постоянно
mysql_query("SET NAMES UFT8");

function query($q) {
mysql_query("SET NAMES UTF8");
$res = mysql_query($q);
if (mysql_error ()) {
echo mysql_error() . "SQL_ERROR:" . $res;
}
return $res;
}
и я викаш ето така:

ако имаш заявка от рода

$q ="INSERT INTO......";
query($q);
 
<?php
if(!isset($_SESSION['name'])) {
echo ' Не си логнат.';
} else
{
?>
<h2 class='stranicamenu'><center>Вестник</center></h2>
<a href="index.php?a=vestnik" class="showvesnika"><img src="images/newsp.gif" border="0" >

Весник</a>
<a href="index.php?a=addvestnik" class="addvesnika"><img src="images/edit.gif" border="0"

> Добави Новина</a>
<br><br>


<?php
$profile = "index.php?a=profile&id";
mysql_query("SET NAMES UFT8");
$query = "SELECT * FROM users WHERE id='$id'";
$result = mysql_query($query);
while($row=mysql_fetch_array($result)) {
$usersid= ($row['id']);
}
?>

<?php
$sql = mysql_query("SELECT * FROM `vesnik` order by `id` DESC limit 14") or

die(mysql_error());
$i = 0;
echo "<table><tr><td>";

while($raw = mysql_fetch_array($sql)) {
$i += 1;
$zaglavie = ($raw['zaglavie']);
$content = nl2br($raw['content']);
$avtor = ($raw['avtor']);
$id = ($raw['idd']);
$go1=mysql_fetch_array(mysql_query("SELECT avatar FROM users WHERE name='$avtor'"));
$avatar=$go1['avatar'];
echo "<div id='header5'>
<div><a href=\"$profile=$id\" class='nad'><img width='50' height='50' src='$avatar'

class='avt' alt=''/><span class='u-of nw'>Автор - $avtor</span><br><span class='u-of

nw'>Заглавие - $zaglavie</span><br>$content</a></div></div>";


if($i == 1) { echo "</td><td>"; } else { $i = 0; echo "</td></tr><tr><td>"; }
}
echo "</td></tr></table>";
}
?>

Така ли трябва да е ?
 
Код:
<?php
if(!isset($_SESSION['name'])) {
echo ' Не си логнат.';
 } else
{
?>
<h2 class='stranicamenu'><center>Добави Новина</center></h2>
<a href="index.php?a=vestnik" class="showvesnika"><img src="images/newsp.gif" border="0" > Весник</a>
 <a href="index.php?a=addvestnik" class="addvesnika"><img src="images/edit.gif" border="0" > Добави Новина</a>
<center><h2>Добави новина</h2>
<form action=" " method="POST">

<font size="1">Заглавие:*</font>
<textarea  rows="1" maxlength="55" name="zaglavie"></textarea><br>
<font size="1">Текст:*</font>
<textarea style="width:350px; height:150px; " name="content"></textarea><br>
<font size="2">Максимален брой символи <b>200.</b>*<br></font>
<font size="2">Трябва да имате <b>1 кредит</b> за да пуснете Новина:*<br></font>
<input type="submit" name="buton" value="Пускай"></center>
<?
if($_POST['buton']){
$zaglavie = htmlspecialchars($_POST['zaglavie']);
$content= htmlspecialchars($_POST['content']);
$session = $_SESSION['name'];
$s = mysql_fetch_assoc(mysql_query("SELECT * FROM users WHERE name='$name'"));
$name = ($s['name']);
$select = mysql_query("SELECT * FROM users WHERE name='$name'");
$select1 = mysql_fetch_array($select);
$id = ($s['id']);
/* Ograni4enie na simvoli */
$strlen = strlen($content);
if ($strlen > 200)
{
echo "Неможе повече от 100 символа.";
}
else
{ 
/* Ograni4enie na simvoli krai */
if (empty($zaglavie) or empty($content))
{ echo "<div align='center'><font size='2'>Попълнете всичко!</font></div>"; }
if($select1['credits']<1){
echo "Нямате достатъчно кредити";}
else {
$q = mysql_query("UPDATE users SET credits=credits-1 WHERE name='$name'") or die(mysql_error());
$send = mysql_query("INSERT INTO `vesnik`(`id`,`zaglavie`,`content`, `avtor`, `idd`) VALUES ('NULL','$zaglavie','$content', '$name', '$id');") or die (mysql_error());
echo "<div align='center'><font size='2'>Успешно добавена новина, върнете се на индекса от <a href='index.php?a=vestnik'><b><u>тук</b></u></a>!</font></div>";
}
}
}
}
?>
 
<?php
if(!isset($_SESSION['name'])) {
echo ' Не си логнат.';
} else
{
?>
<h2 class='stranicamenu'><center>Добави Новина</center></h2>
<a href="index.php?a=vestnik" class="showvesnika"><img src="images/newsp.gif" border="0" > Весник</a>
<a href="index.php?a=addvestnik" class="addvesnika"><img src="images/edit.gif" border="0" > Добави Новина</a>
<center><h2>Добави новина</h2>
<form action=" " method="POST">

<font size="1">Заглавие:*</font>
<textarea rows="1" maxlength="55" name="zaglavie"></textarea><br>
<font size="1">Текст:*</font>
<textarea style="width:350px; height:150px; " name="content"></textarea><br>
<font size="2">Максимален брой символи <b>200.</b>*<br></font>
<font size="2">Трябва да имате <b>1 кредит</b> за да пуснете Новина:*<br></font>
<input type="submit" name="buton" value="Пускай"></center>
<?
if($_POST['buton']){
$zaglavie = htmlspecialchars($_POST['zaglavie']);
$content= htmlspecialchars($_POST['content']);
$session = $_SESSION['name'];
$s = mysql_fetch_assoc(mysql_query("SELECT * FROM users WHERE name='$name'"));
$name = ($s['name']);
$select = mysql_query("SELECT * FROM users WHERE name='$name'");
$select1 = mysql_fetch_array($select);
$id = ($s['id']);
/* Ograni4enie na simvoli */
$strlen = strlen($content);
if ($strlen > 200)
{
echo "Неможе повече от 100 символа.";
}
else
{
/* Ograni4enie na simvoli krai */
if (empty($zaglavie) or empty($content))
{ echo "<div align='center'><font size='2'>Попълнете всичко!</font></div>"; }
if($select1['credits']<1){
echo "Нямате достатъчно кредити";}
else {
mysql_query("SET NAMES UFT8");
$q = mysql_query("UPDATE users SET credits=credits-1 WHERE name='$name'") or die(mysql_error());
$send = mysql_query("INSERT INTO `vesnik`(`id`,`zaglavie`,`content`, `avtor`, `idd`) VALUES ('NULL','$zaglavie','$content', '$name', '$id');") or die (mysql_error());
echo "<div align='center'><font size='2'>Успешно добавена новина, върнете се на индекса от <a href='index.php?a=vestnik'><b><u>тук</b></u></a>!</font></div>";
}
}
}
}
?>



пробвай така
 
macmen каза:
<?php
if(!isset($_SESSION['name'])) {
echo ' Не си логнат.';
} else
{
?>
<h2 class='stranicamenu'><center>Добави Новина</center></h2>
<a href="index.php?a=vestnik" class="showvesnika"><img src="images/newsp.gif" border="0" > Весник</a>
<a href="index.php?a=addvestnik" class="addvesnika"><img src="images/edit.gif" border="0" > Добави Новина</a>
<center><h2>Добави новина</h2>
<form action=" " method="POST">

<font size="1">Заглавие:*</font>
<textarea rows="1" maxlength="55" name="zaglavie"></textarea><br>
<font size="1">Текст:*</font>
<textarea style="width:350px; height:150px; " name="content"></textarea><br>
<font size="2">Максимален брой символи <b>200.</b>*<br></font>
<font size="2">Трябва да имате <b>1 кредит</b> за да пуснете Новина:*<br></font>
<input type="submit" name="buton" value="Пускай"></center>
<?
if($_POST['buton']){
$zaglavie = htmlspecialchars($_POST['zaglavie']);
$content= htmlspecialchars($_POST['content']);
$session = $_SESSION['name'];
$s = mysql_fetch_assoc(mysql_query("SELECT * FROM users WHERE name='$name'"));
$name = ($s['name']);
$select = mysql_query("SELECT * FROM users WHERE name='$name'");
$select1 = mysql_fetch_array($select);
$id = ($s['id']);
/* Ograni4enie na simvoli */
$strlen = strlen($content);
if ($strlen > 200)
{
echo "Неможе повече от 100 символа.";
}
else
{
/* Ograni4enie na simvoli krai */
if (empty($zaglavie) or empty($content))
{ echo "<div align='center'><font size='2'>Попълнете всичко!</font></div>"; }
if($select1['credits']<1){
echo "Нямате достатъчно кредити";}
else {
mysql_query("SET NAMES UFT8");
$q = mysql_query("UPDATE users SET credits=credits-1 WHERE name='$name'") or die(mysql_error());
$send = mysql_query("INSERT INTO `vesnik`(`id`,`zaglavie`,`content`, `avtor`, `idd`) VALUES ('NULL','$zaglavie','$content', '$name', '$id');") or die (mysql_error());
echo "<div align='center'><font size='2'>Успешно добавена новина, върнете се на индекса от <a href='index.php?a=vestnik'><b><u>тук</b></u></a>!</font></div>";
}
}
}
}
?>



пробвай така

Пак същия х**
 
Направи полето на таблицата да е с колация latin1_sweedish_ci и кажи резултата.
Ако не стане промени SET NAMES UTF8 на SET NAMES CP1251
 
proba каза:
Направи полето на таблицата да е с колация latin1_sweedish_ci и кажи резултата.
Ако не стане промени SET NAMES UTF8 на SET NAMES CP1251

Пак същото :(
 
Никакъв лантин_шведиш и други такива глупости.

1. Полетата в БД - utf8_unicode_ci.
2. Запази файла като UTF-8 без BOM
3. Преди заявката:

$chars="SET CHARACTER SET utf8";
mysql_query($chars);

4.Няма начин да не стане.
5. Има най-малко 100 такива теми, в 98 съм писал същото.
 

Back
Горе