PDA

View Full Version : سوال: نمایش مقادیر فارسی به صورت ؟؟؟؟ (حل شد)



esmaeilbf
دوشنبه 27 مرداد 1393, 18:42 عصر
وقتی اطلاعات رو میخوام توی سایت نمایش بدم کلمات فارسی به صورت ؟؟؟؟؟ نمایش داده می شوند.
collation دیتابیس رو روی utf8_general_ci قرار دادم
و قبل از اجرای query هم charset رو به این صورت روی utf8 گذاشتم:



mysqli_connect(HOSTname ,username,password,DBname );
header('Content-Type: text/html; charset=utf-8');
mysql_set_charset("UTF8");
mysql_query("SET NAMES `utf8`");
//my query...

2undercover
دوشنبه 27 مرداد 1393, 19:06 عصر
به جای ` از ' برای utf8 استفاده کنید.

esmaeilbf
دوشنبه 27 مرداد 1393, 19:21 عصر
اینکار رو هم کردم درست نشد ، همچنان علامت ؟ هست!!

2undercover
دوشنبه 27 مرداد 1393, 20:10 عصر
خوب شما اول با MySQLi به پایگاه داده متصل شدید بعد پایین از توابع MySQL استفاده کردید!

Mohammadsgh
دوشنبه 27 مرداد 1393, 21:08 عصر
collation جدول رو utf8 معمولی کنید:لبخندساده:

hamedarian2009
دوشنبه 27 مرداد 1393, 21:40 عصر
شما چرا نصف کدتون با mysqli و نصف دیگه با mysql هست از یکی استفاده کنید

در ضمن واسه حل این مشکل تاپیک وجود داره بهتره به جای راهنمایی های دست و پا شکسته دوستان به تاپیک پرسش های تکراری (http://barnamenevis.org/showthread.php?356992-%D9%BE%D8%B1%D8%B3%D8%B4%D9%87%D8%A7%DB%8C-%D8%AA%DA%A9%D8%B1%D8%A7%D8%B1%DB%8C&p=1576424&viewfull=1#post1576424) مراجعه کنید

esmaeilbf
دوشنبه 27 مرداد 1393, 22:30 عصر
ممنون از همه دوستان مشکل با این کد حل شد:
mysqli_set_charset($con,"UTF8");

badname
چهارشنبه 05 آذر 1393, 21:53 عصر
دوستان من همه روش های گفته شده رو انجام دادم ولی mysqli رو نمیتونم فارسی ذخیره یا از دیتا بیس بگیرم


public function __construct() {
// CONNECT TO THE DATABASE
$this->mysqli = new mysqli($this->DB_HOST, $this->DB_USER, $this->DB_PASS, $this->DB_NAME,"3306");
if (mysqli_connect_errno()) {
throw new Exception("Unable to connect to the database. Error number: " . $this->mysqli->connect_errno);
}
mysqli_set_charset($con,"UTF8");
}

database رو utf-8-persian-ci کردم


mysqli_set_charset($con,"UTF8");

گذاشتم
encode note pad +++ هم رو utf8 with BOM هست
ولی باز هم علامت سوال ؟؟؟ ذخیر میشه
ممنون میشم راهنمایی کنید :لبخندساده:

HaZeM+
چهارشنبه 05 آذر 1393, 22:00 عصر
این کد رو بالای پیجتون قرار بدید

<meta charset="utf-8">

badname
چهارشنبه 05 آذر 1393, 22:11 عصر
این کد رو بالای پیجتون قرار بدید

<meta charset="utf-8">
قبل از تگ php ?

HaZeM+
چهارشنبه 05 آذر 1393, 22:31 عصر
قبل از تگ php ?
بله فبل از <?php

badname
چهارشنبه 05 آذر 1393, 22:50 عصر
بله فبل از <?php
نه متاسفانه نمیشه ، وقتی این رو اضافه میکنم برنامه (برنامه رو موبایل بصورت اندروید هست) از کار میوفته :ناراحت:

HaZeM+
چهارشنبه 05 آذر 1393, 23:07 عصر
نه متاسفانه نمیشه ، وقتی این رو اضافه میکنم برنامه (برنامه رو موبایل بصورت اندروید هست) از کار میوفته :ناراحت:
باید تو پروجکت نرم افزار با explode یا split یا replace این قسمت از کذ را حذف کنید

badname
پنج شنبه 06 آذر 1393, 19:17 عصر
باید تو پروجکت نرم افزار با explode یا split یا replace این قسمت از کذ را حذف کنید
متوجه نمیشم چیکار باید کنم ، لطفا راهنمایی کنید

HaZeM+
پنج شنبه 06 آذر 1393, 20:03 عصر
متوجه نمیشم چیکار باید کنم ، لطفا راهنمایی کنید
شما این صفحرو تو اندروید دریافت میکنید دیگه
حالا تو این string ی که دریافت میکنید مقدار
<meta charset="utf-8">
ازون حذف کنید ...

badname
پنج شنبه 06 آذر 1393, 20:51 عصر
سمت اندروید من دارم با متد get کار میکنم و بصورت get میفرستم اطلاعات نکنه مشکل از این هست ؟
مثل این :

private final static String API_FORM = "http://www.mysite.com/PHPAndroidAPI/writetodb.php?p1=#@#&p2=#@@#&p3=#@@@#&p4=#@@@@#";
private final static String API_Comment = "http://www.mysite.com/PHPAndroidAPI/index.php?p1=#@#";

HaZeM+
جمعه 07 آذر 1393, 06:35 صبح
private final static String API_FORM = "http://www.mysite.com/PHPAndroidAPI/writetodb.php?p1=#@#&p2=#@@#&p3=#@@@#&p4=#@@@@#";
private final static String API_Comment = "http://www.mysite.com/PHPAndroidAPI/index.php?p1=#@#";
String API_Comment.replace("<meta charset=\"utf-8\">", "");

badname
جمعه 07 آذر 1393, 14:38 عصر
ممنون دوستان با این حلش کردم :


/* change character set to utf8 */
if (!$this->mysqli->set_charset("utf8")) {
printf("Error loading character set utf8: %s\n", $this->mysqli->error);
} else {
printf("Current character set: %s\n", $this->mysqli->character_set_name());
}