سلام دوستان!
من یک cms رو دارم فارسی می کنم، مشکل در ارسال و دریافت اطلاعات فارسی توسط php از بانک داده ی mySQL هستش.
من از
استفاده کردم.
از صفحه ی الف اطلاعات فارسی رو به بانک اطلاعاتی می فرستم، در بانک اطلاعاتی هم اطلاعات رو فارسی می بینم. همون اطلاعات رو در صفحه ی ب چاپ می کنم بازم فارسیه، اما وقتی می خوام در صفحه ی الف بازیابی کنم اجق وجق می شه!
از صفحه ی ج هم که اطلاعات فارسی به بانک اطلاعاتی می فرستم، توی بانک اطلاعاتی اجق وجق می شه.
سؤالم اینه که چرا بعضی جاها مشکل نداره ولی بعضی جا اجقیات تحویل می ده؟
همه ی صفحات انکودینگشون utf8 هست. بانک اطلاعاتی هم utf8 هست. بازم می گم در بعضی موارد فقط مشکل هست.
من به تابع mysql_query فایل mysql.php این اسکریپت اشاره می کنم که یه پارامتر نا آنشا توشه ببینید:
بعد هر جا هم با جدول ها کار شده از توابع my_query و get_line استفاده شده. لطفاً اگه چیزی به ذهنتون می رسه کمکم کنید.
من یک cms رو دارم فارسی می کنم، مشکل در ارسال و دریافت اطلاعات فارسی توسط php از بانک داده ی mySQL هستش.
من از
PHP:
mysql_query ("SET NAMES 'utf8'");
از صفحه ی الف اطلاعات فارسی رو به بانک اطلاعاتی می فرستم، در بانک اطلاعاتی هم اطلاعات رو فارسی می بینم. همون اطلاعات رو در صفحه ی ب چاپ می کنم بازم فارسیه، اما وقتی می خوام در صفحه ی الف بازیابی کنم اجق وجق می شه!
از صفحه ی ج هم که اطلاعات فارسی به بانک اطلاعاتی می فرستم، توی بانک اطلاعاتی اجق وجق می شه.
سؤالم اینه که چرا بعضی جاها مشکل نداره ولی بعضی جا اجقیات تحویل می ده؟
همه ی صفحات انکودینگشون utf8 هست. بانک اطلاعاتی هم utf8 هست. بازم می گم در بعضی موارد فقط مشکل هست.
من به تابع mysql_query فایل mysql.php این اسکریپت اشاره می کنم که یه پارامتر نا آنشا توشه ببینید:
PHP:
<?php
class mysql_connections {
function mysql_connections($host=MYSQL_HOST,$user=MYSQL_USER,$pwd = MYSQL_PWD){ // connect to db
$this->connection = mysql_connect ($host,$user,$pwd)or $this->my_error(mysql_error());
mysql_select_db (MYSQL_DB,$this->connection)or $this->my_error(mysql_error());
}
function get_line ($sql,$type="a"){ // fetch first line from query return first item if $type=k
if ($type=="a"){
$row = mysql_fetch_assoc($this->my_query($sql));
}elseif ($type=="k"){
$row = mysql_fetch_row($this->my_query($sql));
$row= $row[0];
}else{
$row = mysql_fetch_row($this->my_query($sql));
}
return $row;
}
function get_array($sql,$keys=""){
$rows = array();
$res = $this->my_query($sql);
while ($row = mysql_fetch_array($res)){
if (is_array($keys)){ // row to value +key
$rows[$row[$keys[0]]] = $row[$keys[1]];
}elseif($keys){
$rows[] = $row[0];
}else{
$rows[] =$row;
}
}
return $rows;
}
function get_array_a($sql){
$rows = array();
$res = $this->my_query($sql);
while ($row = mysql_fetch_assoc($res)){
$rows[] = $row;
}
return $rows;
}
function my_query ($sql){
$res = mysql_query ($sql,$this->connection)or $this->my_error($sql."<br />".mysql_error());
return $res;
}
function my_error($message){ // display error message
echo "<hr color=\"#FF0000\" />";
echo $message;
echo "<hr color=\"#FF0000\" />";
die;
}
}
?>