mysql + кирилица

z7c

Registered
ЗДравейте , търсих относно този проблем , но никаде на намерих точен отговор.

Извеждам посредством php код информация от базата данни.
php кода извежда всичко без проблем и си работи чудесно...,
но когато въведа в базата данни в колоните текст на кирилица
то php кода ми изкарва само някакви въпросителни: "????????"
Имайте предвид.. , че на таблицата съм задал utf8_unicode_ci и на всяка колона в таблицата по отделно.. пробвах и с utf8_general_ci но отново същия проблем.

Нядавам се да помогнете , ако ви трябва нещо код или нещо друго... ще изпращам веднага.

Благодаря
 
cp1251


Направи си таблиците с таква колация а в конфиг файла сложи


$chars="set character set cp1251";
mysql_query($chars);
 
Сложи след връзката с ДБ
mysql_query("SET NAMES cp1251");
Пробвай, трябва да стане
 
хм.. пробваш и двата варианта които ми казахте... не става .. за това реших да ви дам php кода да видим сега какво ще кажете:

<?php
//server connfigure
$server = "1";
$dbusername = "1";
$dbpassword = "1";
$db_name = "1";
$table_name = "abc";

//server connfigure

//колко резултата на страница
$pp = "3";
//колко резултата на страница
$page=$_GET['page']; //присвояваме стойността на page

if(!$_GET['page']) //ако не е взета page да върне 1-ца
{
$page="1";
}

$limit = ($pp*$page)-$pp; //определяме лимитирането

mysql_connect($server, $dbusername, $dbpassword)or die("1111");
@mysql_select_db($db_name) or die("2222");
$redove=mysql_query("SELECT * FROM $table_name");

$max=mysql_numrows($redove); //преброяваме редовете
$total=ceil($max/$pp); //пресмятаме броя на страниците
mysql_connect($server, $dbusername, $dbpassword)or die("3333");
@mysql_select_db($db_name) or die("4444");
if (!isset($_GET['recipe'])) {
$query="SELECT * FROM $table_name ORDER BY `id` DESC LIMIT 1 ";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
$i=0;
while ($i < $num) {

$data=mysql_result($result,$i,"recipe");

echo "<a href=\"?recipe=$data\"> $data </a> <br />";


$i++;
}
}
else
{
if (!empty($_GET['recipe'])) {
$prt = mysql_result(mysql_query("SELECT irecipe FROM `abc` WHERE recipe='".htmlspecialchars(addslashes($_GET['recipe']))."'"),0)or die(mysql_error());
echo "Партия: ".$prt." <br />";
}
}
echo "<br><br><br><br>";
?>
 
<?php
//server connfigure
$server = "1";
$dbusername = "1";
$dbpassword = "1";
$db_name = "1";
$table_name = "abc";

//server connfigure

//колко резултата на страница
$pp = "3";
//колко резултата на страница
$page=$_GET['page']; //присвояваме стойността на page

if(!$_GET['page']) //ако не е взета page да върне 1-ца
{
$page="1";
}

$limit = ($pp*$page)-$pp; //определяме лимитирането

mysql_connect($server, $dbusername, $dbpassword)or die("1111");
@mysql_select_db($db_name) or die("2222");
$redove=mysql_query("SELECT * FROM $table_name");

$max=mysql_numrows($redove); //преброяваме редовете
$total=ceil($max/$pp); //пресмятаме броя на страниците
mysql_connect($server, $dbusername, $dbpassword)or die("3333");
@mysql_select_db($db_name) or die("4444");
if (!isset($_GET['recipe'])) {
$query="SELECT * FROM $table_name ORDER BY `id` DESC LIMIT 1 ";
mysql_query("SET NAMES cp1251");
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
$i=0;
while ($i < $num) {

$data=mysql_result($result,$i,"recipe");

echo "<a href=\"?recipe=$data\"> $data </a> <br />";


$i++;
}
}
else
{
if (!empty($_GET['recipe'])) {
$prt = mysql_result(mysql_query("SELECT irecipe FROM `abc` WHERE recipe='".htmlspecialchars(addslashes($_GET['recipe']))."'"),0)or die(mysql_error());
echo "Партия: ".$prt." <br />";
}
}
echo "<br><br><br><br>";
?>
 
0u7 каза:
<?php
//server connfigure
$server = "1";
$dbusername = "1";
$dbpassword = "1";
$db_name = "1";
$table_name = "abc";

//server connfigure

//колко резултата на страница
$pp = "3";
//колко резултата на страница
$page=$_GET['page']; //присвояваме стойността на page

if(!$_GET['page']) //ако не е взета page да върне 1-ца
{
$page="1";
}

$limit = ($pp*$page)-$pp; //определяме лимитирането

mysql_connect($server, $dbusername, $dbpassword)or die("1111");
@mysql_select_db($db_name) or die("2222");
$redove=mysql_query("SELECT * FROM $table_name");

$max=mysql_numrows($redove); //преброяваме редовете
$total=ceil($max/$pp); //пресмятаме броя на страниците
mysql_connect($server, $dbusername, $dbpassword)or die("3333");
@mysql_select_db($db_name) or die("4444");
if (!isset($_GET['recipe'])) {
$query="SELECT * FROM $table_name ORDER BY `id` DESC LIMIT 1 ";
mysql_query("SET NAMES cp1251");
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
$i=0;
while ($i < $num) {

$data=mysql_result($result,$i,"recipe");

echo "<a href="?recipe=$data"> $data </a> <br />";


$i++;
}
}
else
{
if (!empty($_GET['recipe'])) {
$prt = mysql_result(mysql_query("SELECT irecipe FROM `abc` WHERE recipe='".htmlspecialchars(addslashes($_GET['recipe']))."'"),0)or die(mysql_error());
echo "Партия: ".$prt." <br />";
}
}
echo "<br><br><br><br>";
?>


а базата данни cp1251_bin или cp1251_bulgarian_ci ?
 
0u7 каза:
Пробвай и 2те но по скоро трябва да е cp1251_bulgarian_ci

ах... не става... пробвах и двете виж резултата:
http://www.php.pirin2006.com/33.php
 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Тва закво е утф-8....


Направи го windows-1251
 
0u7 каза:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Тва закво е утф-8....


Направи го windows-1251

получи се... благодаря... , но друг проблем изникна..
сега този текст който се показваше сле дкато цъкнеш на това АЦЦЦЦ
отпред пишеше ПАРТИЯ:
а сега го дава пък него с йероглифи
 
Ако си го писал с dreamwevaer или notepad отвори го и го напиши на ново !


Ако не пробвай така:
Връщаш утф-8 горе
слагаш тос код

и правиш колацията утф-8 бин !

<?php
//server connfigure
$server = "1";
$dbusername = "1";
$dbpassword = "1";
$db_name = "1";
$table_name = "abc";

//server connfigure

//колко резултата на страница
$pp = "3";
//колко резултата на страница
$page=$_GET['page']; //присвояваме стойността на page

if(!$_GET['page']) //ако не е взета page да върне 1-ца
{
$page="1";
}

$limit = ($pp*$page)-$pp; //определяме лимитирането

mysql_connect($server, $dbusername, $dbpassword)or die("1111");
@mysql_select_db($db_name) or die("2222");
$redove=mysql_query("SELECT * FROM $table_name");

$max=mysql_numrows($redove); //преброяваме редовете
$total=ceil($max/$pp); //пресмятаме броя на страниците
mysql_connect($server, $dbusername, $dbpassword)or die("3333");
@mysql_select_db($db_name) or die("4444");
if (!isset($_GET['recipe'])) {
$query="SELECT * FROM $table_name ORDER BY `id` DESC LIMIT 1 ";
mysql_query("SET NAMES utf-8");
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
$i=0;
while ($i < $num) {

$data=mysql_result($result,$i,"recipe");

echo "<a href=\"?recipe=$data\"> $data </a> <br />";


$i++;
}
}
else
{
if (!empty($_GET['recipe'])) {
$prt = mysql_result(mysql_query("SELECT irecipe FROM `abc` WHERE recipe='".htmlspecialchars(addslashes($_GET['recipe']))."'"),0)or die(mysql_error());
echo "Партия: ".$prt." <br />";
}
}
echo "<br><br><br><br>";
?>
 

Горе