и отново проблем с кодировките

val4o0o0

Registered
Останаха само тези:

Код:
<?php

include ('conf.php');

$select = mysql_query("SELECT * FROM links ")or die(mysql_error());

$num = mysql_num_rows($select);

for ($i=0;$i<$num;$i++) {

$name = mysql_result($select, $i, "name");

$link = mysql_result($select, $i, "link");

echo '<meta http-equiv="Content-Type" content="text/html"; charset="utf-8" />';

echo '<li><a href="' . $link . '" target="_blank">' . $name . '</a></li>';

}



mysql_close();

?>

Това и

Код:
<?php

include ('conn_novini.php'); //добавяме config файла

$our = mysql_query("SELECT ime , awtor, nowina, id FROM news ORDER BY id DESC LIMIT 5"); //избираме кои неща да вземем от БД

while($r=mysql_fetch_array($our)){

if (strlen($r['nowina'])>$broi)

{$totchki='...';}

else

{$totchki='';}

$kratko = substr($r['nowina'],0,$broi); //правим новината да не е повече от някакъв брой символи

echo "<div id='news'>".$r['ime']."</div><div align='center' id='news'>".wordwrap($kratko,50,"<br />\n",true).$totchki." <div class='hr'></div><a href=\"news_view.php?id=$r[id]\"><div align='left'>Още... </div></a></div>

<div align=\"right\"><font color=\"white\">Автор: <b>$r[awtor]</b></font></div><br />";



}; ?>

ето и какво се получава - http://wow-multimedia.org/new/index.php
Погледнете менютата - "Последните новини" и "Приятели"
 
Код:
<?php

include ('conf.php');


mysql_query("SET NAMES UTF8"); 
$select = mysql_query("SELECT * FROM links ")or die(mysql_error());
$num = mysql_num_rows($select);
for ($i=0;$i<$num;$i++) {
$name = mysql_result($select, $i, "name");
$link = mysql_result($select, $i, "link");
echo '<meta http-equiv="Content-Type" content="text/html"; charset="utf-8" />';
echo '<li><a href="' . $link . '" target="_blank">' . $name . '</a></li>';
}

mysql_close();
?>

Код:
<?php
include ('conn_novini.php'); //добавяме config файла

mysql_query("SET NAMES UTF8"); 
$our = mysql_query("SELECT ime , awtor, nowina, id FROM news ORDER BY id DESC LIMIT 5"); //избираме кои неща да вземем от БД
while($r=mysql_fetch_array($our)){
if (strlen($r['nowina'])>$broi)
{$totchki='...';
}
else {
$totchki='';
}
$kratko = substr($r['nowina'],0,$broi); //правим новината да не е повече от някакъв брой символи
echo "<div id='news'>".$r['ime']."</div><div align='center' id='news'>".wordwrap($kratko,50,"<br />\n",true).$totchki." <div class='hr'></div><a href=\"news_view.php?id=$r[id]\"><div align='left'>Още... </div></a></div>
<div align=\"right\"><font color=\"white\">Автор: <b>$r[awtor]</b></font></div><br />";
};
 ?>
 
Код:
 <?php

include ('conf.php');

mysql_query("SET NAMES UTF8");

$select = mysql_query("SELECT * FROM links ")or die(mysql_error());

$num = mysql_num_rows($select);

for ($i=0;$i<$num;$i++) {

$name = mysql_result($select, $i, "name");

$link = mysql_result($select, $i, "link");

echo '<meta http-equiv="Content-Type" content="text/html"; charset="utf-8" />';

echo '<li><a href="' . $link . '" target="_blank">' . $name . '</a></li>';

}



mysql_close();

?>

Код:
 <?php

include ('conn_novini.php'); //добавяме config файла

mysql_query("SET NAMES UTF8");

$our = mysql_query("SELECT ime , awtor, nowina, id FROM news ORDER BY id DESC LIMIT 5"); //избираме кои неща да вземем от БД

while($r=mysql_fetch_array($our)){

if (strlen($r['nowina'])>$broi)

{$totchki='...';}

else

{$totchki='';}

$kratko = substr($r['nowina'],0,$broi); //правим новината да не е повече от някакъв брой символи

echo "<div id='news'>".$r['ime']."</div><div align='center' id='news'>".wordwrap($kratko,50,"<br />\n",true).$totchki." <div class='hr'></div><a href=\"news_view.php?id=$r[id]\"><div align='left'>Още... </div></a></div>

<div align=\"right\"><font color=\"white\">Автор: <b>$r[awtor]</b></font></div><br />";



}; ?>

nomer1 ме изпревари в 1 минутка сме писали, просто това същото ти го направих и в другият файл.
 
да, пробвах го този начин с въпросната добавка:

mysql_query("SET NAMES UTF8");
но, този път нестава..
 
Слагай CP1251

Код:
<?php

include ('conf.php');


mysql_query("SET NAMES CP1251"); 
$select = mysql_query("SELECT * FROM links ")or die(mysql_error());
$num = mysql_num_rows($select);
for ($i=0;$i<$num;$i++) {
$name = mysql_result($select, $i, "name");
$link = mysql_result($select, $i, "link");
echo '<meta http-equiv="Content-Type" content="text/html"; charset="utf-8" />';
echo '<li><a href="' . $link . '" target="_blank">' . $name . '</a></li>';
}

mysql_close();
?>

Код:
<?php
include ('conn_novini.php'); //добавяме config файла

mysql_query("SET NAMES CP1251"); 
$our = mysql_query("SELECT ime , awtor, nowina, id FROM news ORDER BY id DESC LIMIT 5"); //избираме кои неща да вземем от БД
while($r=mysql_fetch_array($our)){
if (strlen($r['nowina'])>$broi)
{$totchki='...';
}
else {
$totchki='';
}
$kratko = substr($r['nowina'],0,$broi); //правим новината да не е повече от някакъв брой символи
echo "<div id='news'>".$r['ime']."</div><div align='center' id='news'>".wordwrap($kratko,50,"<br />\n",true).$totchki." <div class='hr'></div><a href=\"news_view.php?id=$r[id]\"><div align='left'>Още... </div></a></div>
<div align=\"right\"><font color=\"white\">Автор: <b>$r[awtor]</b></font></div><br />";
};
 ?>

// Karcho, следващия път е мой ред :D
 
Не, датабазата е в utf8 и това няма да помогне, другия проблем е, че всички останали таблици са на unicode_ci, а тези 2-те links и news са - utf8_general_ci - можеби заради това, не става, но в sql файла е направено така, че незнам как да ги променя да са под unicode_ci
Код:
CREATE TABLE IF NOT EXISTS `news` (

  `nowina` text NOT NULL,

  `ime` varchar(255) default NULL,

  `awtor` varchar(255) default NULL,

  `id` int(11) NOT NULL auto_increment,

  PRIMARY KEY  (`id`)

) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;



CREATE TABLE IF NOT EXISTS `links` (

  `id` int(8) NOT NULL auto_increment,

  `name` varchar(255) NOT NULL,

  `link` varchar(255) NOT NULL,

  PRIMARY KEY  (`id`)

) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=18 ;
Пример за едно от останалите дб-та:


Код:
CREATE TABLE `otgovori` (

`id` int(10) NOT NULL auto_increment,

`id_poll` int(10) NOT NULL,

`otgovor` varchar(250) COLLATE utf8_general_ci NOT NULL default '',

`broi` int(5) NOT NULL default '0',

PRIMARY KEY (`id`)

);
Ако се направи по някакъв начин да са под unicode_ci, това с mysql _query ще стане, поне така мисля.
 
Ето това отдолу го сменяш на:
ENGINE=MyISAM DEFAULT CHARSET=utf8_unicode_ci AUTO_INCREMENT=18 ; и пак ръгаш в db.

//nom3r1 на мен не ми се ровеше да го дам точно и сега искаш да намажеш :D
 
Влизай в phpmyadmin >> отиди на базата от данни >> Операции >> Най-долу намери: Колация: -> избери utf8_unicode_ci и натисни Изпълнение

След това качи таблиците така:

Код:
CREATE TABLE IF NOT EXISTS `news` (
  `nowina` text NOT NULL,
  `ime` varchar(255) default NULL,
  `awtor` varchar(255) default NULL,
  `id` int(11) NOT NULL auto_increment,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM;

CREATE TABLE IF NOT EXISTS `links` (
  `id` int(8) NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `link` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM;	

CREATE TABLE `otgovori` (
`id` int(10) NOT NULL auto_increment,
`id_poll` int(10) NOT NULL,
`otgovor` varchar(250) NOT NULL default '',
`broi` int(5) NOT NULL default '0',
PRIMARY KEY (`id`)
);

И ядове никакви не би трябвало да имаш.. ;)

//Karcho шанс :D
 
Karcho каза:
Ето това отдолу го сменяш на:
ENGINE=MyISAM DEFAULT CHARSET=utf8_unicode_ci AUTO_INCREMENT=18 ; и пак ръгаш в db.

//nom3r1 на мен не ми се ровеше да го дам точно и сега искаш да намажеш :D

пробвах го, но не става..

nom3r1 каза:
Влизай в phpmyadmin >> отиди на базата от данни >> Операции >> Най-долу намери: Колация: -> избери utf8_unicode_ci и натисни Изпълнение

След това качи таблиците така:

Код:
CREATE TABLE IF NOT EXISTS `news` (
  `nowina` text NOT NULL,
  `ime` varchar(255) default NULL,
  `awtor` varchar(255) default NULL,
  `id` int(11) NOT NULL auto_increment,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM;

CREATE TABLE IF NOT EXISTS `links` (
  `id` int(8) NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `link` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM;	

CREATE TABLE `otgovori` (
`id` int(10) NOT NULL auto_increment,
`id_poll` int(10) NOT NULL,
`otgovor` varchar(250) NOT NULL default '',
`broi` int(5) NOT NULL default '0',
PRIMARY KEY (`id`)
);

И ядове никакви не би трябвало да имаш.. ;)

//
сега ще видиме :)

//EDIT НЕ СТАВА и по този начин..
 
Проблема ти е или във файловете, не са ти utf-8 , може и самите данни при записа в db да се бъгят
 
@shterev аз винаги правя файловете в "ANSI" charset-a на windows1251 в базата данни utf8_unicode_ci, и оправям "счупения енкодинг" с CP1251, яко нале :D
 
Яко, яко ама проблема си остава, явно трябва нещо друго да се направи.
ПП: За файловете съм сигурен, че са в utf8 кодировка, това с general_ci прецаква, а начина който по-горния потребител беше дал с редактирания sql, така неможе да се създават новини...а при "Приятелите" пак са на маймуница дори с mysql_query
 
Като го правиш по-този начин където ти го казах направи файловете: ANSI

и махни: mysql_query("SET NAMES UTF8");

charset-a трябва да ти бъде: windows-1251

След това съм 100% сигурен, защото проблеми няма да имаш!
 
val4o0o0 каза:
Яко, яко ама проблема си остава, явно трябва нещо друго да се направи.
ПП: За файловете съм сигурен, че са в utf8 кодировка, това с general_ci прецаква, а начина който по-горния потребител беше дал с редактирания sql, така неможе да се създават новини...а при "Приятелите" пак са на маймуница дори с mysql_query

Ами аз като гледам колко кънекции инклудваш, ми става ясно, че системата е събрана от кол и въже. (може и да греша, съмнявам се) Затова уеаднакви всичкото.
 
Добре де защо от phpmyadmin не си промениш колацията от моливчето edit
2667.png
 
Вижте, при cp1251 също имаше маймуници при кирилица на места, останаха само тези последните за редакция и съм сигурен, че има оправия, но не съм навътре с нещата имам мноооого минимални познания и ...
Та въобще не ми се занимава с cp1251, по-добре да оправя по-някакъв начин при utf8 нещата, а с ANSI става пълно мазало ако запазя така файла.
 
Оправих се!
Та, проблема се е криел в админ панела, добавих mysql_query("SET NAMES UTF8"); във всички файлове който инклудват други.
Благодаря на всички отзовали се!
 

Back
Горе