PDA

Pogčedajte punu verziju : MySQL i Ćirilica


Mr.Paja
09. 12. 2006., 17:00
Pokušavam da nafilujem MySQL bazu sa podacima u ćirilici i posle da ih prikažem na jednoj strani. Poregledao sam hrpu postova al nisam našao rešenje problema. Evo kako sam radio korak po korak :

1. Kreiranje tabele

CREATE TABLE IF NOT EXISTS `test_utf8` (
`id` tinyint(3) unsigned NOT NULL auto_increment,
`ime` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM;



2. Punjenje podacima

<?php
$conn = new mysqli('localhost', 'username', 'password');
$conn->select_db('test');
$conn->set_charset("utf8");
$conn->query("SET NAMES 'utf8'");
$array =
array('Александар','Бојан','Вељко','Горан','Душан' ,'Ђорђе'
,'Жарко','Љубиша','Радиша','Синиша','Чубрило');

shuffle($array);

foreach($array as $ime)
{
$insert = "INSERT INTO test_utf8 VALUES(NULL,
'".$ime."')";
$result = $conn->query($insert);
if($result)
{
echo "Ime ".$ime." je uneseno!<br>";
}
}
$conn->close();
?>



3. Prikaz podataka iz baze

<?php
$konekcija = mysql_pconnect('localhost', 'username', 'password') or trigger_error(mysql_error(),E_USER_ERROR); ?>
<?php
mysql_select_db('test', $konekcija);
$query_Recordset1 = "SELECT * FROM test_utf8";
$Recordset1 = mysql_query($query_Recordset1, $konekcija) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Proba</title>
</head>

<body>

<?php do { ?>
<?php echo $row_Recordset1['ime']; ?>
<br/>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>

</body>
</html>
<?php
mysql_free_result($Recordset1);
?>


Kao rezultat dobijem :

?????
??????
??????
?????
?????
?????
?????
???????
?????
??????????
??????



gde grešim ?

Napomena : Encoding u browseru je postavljen na UTF-8

dee
09. 12. 2006., 17:05
izgleda da ti database chatset nije utf...

pricalo se o tome i ovdje:

http://www.devprotalk.com/t1927-phpmysql-charset-problem.html

Ilija Studen
09. 12. 2006., 17:10
Probaj da izvršiš "SET NAMES 'utf8'" nakon što se konektuješ na bazu.

dinke
09. 12. 2006., 17:17
Koliko vidim sve si lepo odradio. Da ti nije možda apache podešen da setuje encoding na iso-latin1? Proveri httpd.conf fajl, već je bilo priče o tome na forumu pre izvesnog vremena.

Mr.Paja
09. 12. 2006., 17:20
Hvala Ilija, uspelo je ! :1081: