آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل در جستجوی کلمات فارسی در سرور در صورتی که کلمات انگلیسی به خوبی کار می کنه !!!

هادی بی غم  8 سال پیش  8 سال پیش
+3 0

سلام دوستان

برای جستجوی کلمات فارسی در سرور مشکل دارم در صورتی که کلمات فارسی درست از سرور خونده میشن اما در زمان جستجو و فیلتر شدن به کلمه ی فارسی هیچ عکس العملی نشون نمیده دلیلش چی میتونه باشه ، ممنون میشم منو راهنمایی کنید

 کدهای سمت سرور

 <?php
//-------------- farsi sazi
header('Content-Type: text/html; charset=utf-8');
//-------------- farsi sazi
if(isset($_REQUEST['action'])){
$action=$_REQUEST['action'];
} else{
echo "Invalid Data";
exit;
}

if ($action=="read"){
read();
}


function connectToDatabase(){
$connection=mysqli_connect('localhost','music','123456','musics_music');
mysqli_set_charset($connection,'utf8'); //for get farsi font from database
//----------- farsi sazi
mysqli_query("SET NAMES 'utf8'");
mysqli_set_charset("UTF8");
//----------- farsi sazi
if(mysqli_connect_errno()){
echo "Failed to connect to MySQL: ".mysqli_connect_error();
}
return $connection;
}



function read(){
$connection = connectToDatabase();
$result=mysqli_query($connection,"SELECT * FROM music WHERE " . $_REQUEST['filter'] ." ORDER BY " . $_REQUEST['sort'] . " LIMIT 10");

$output=array();
while($row=mysqli_fetch_array($result)){
$record=array();
$record['music_id']=$row['music_id'];
$record['music_name']=$row['music_name'];
$record['music_singer']=$row['music_singer'];
$record['music_musicName']=$row['music_musicName'];
$output[]=$record;
}
echo json_encode($output);
mysqli_close($connection);
}

 

 btnSearch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
lastFilter = "music_musicName LIKE '%"+txtSearch.getText()+"%' OR "+"music_name LIKE '%"+txtSearch.getText()+"%' OR "+
"music_singer LIKE '%"+txtSearch.getText()+"%'";
Log.i("LOG", "lastFilter ="+lastFilter);
(new AsyncListViewLoader()).execute();
}
});




+1 0
کد هاتون رو قرار بدید حدس میزنم انکودینگ کارکتر هارو روی utf8 نزاشتید ! (8 سال پیش)
+1 0
اکثر نکاتی که برای فارسی سازی توی سایت آموزش داده شده انجام دادم رکورد های دیتابیس با یه برنامه آندرویدی از طرف خودم پر میشه کامل فارسی ارسال میشه و بعد تو برنامه اصلی فارسی بدون مشکل داخل لیست ویو نمایش داده میده اما زمانی که جستجو با کلمات فارسی انجام میشه نتیجه ای نمیده (8 سال پیش)
+1 0
کدهاتون رو قرار بدید (8 سال پیش)
+1 0
کد های سمت سرور رو قرار بدید (8 سال پیش)
0 0
این فیلد lastfilter داخل query که استاد داخل آموزش مارکت آموزش داده بودن قرار میگیره (8 سال پیش)
0 0
قسمت هایی برای فارسی سازی هست کامنت گذاری شده (8 سال پیش)
0 0
Help Me (8 سال پیش)
+1 0
اگه برنامتون دارای کلمات انگلیسی هم هست با سرچ کردن اینگونه کلمات مشکلی نداره؟ یا فقط فارسی رو نشون نمیده (8 سال پیش)
0 0
فقط با فارسی مشکل داره ، رفتم توی اینترنت خوندم نوشته بودن حروف فارسی باید به کد های دیگه تبدیل بشه ولی چون انگلیسی بود درست متوجه نشدم شما در جریانش هستین ؟ (8 سال پیش)
0 0
u0600-\u06FF\u0750-\u077F\u0590-\u05FF\uFE70-\uFEFF یه همچین چیزی بود (8 سال پیش)
+1 0
لینکشو بزارید که بررسی بشه ! (8 سال پیش)
0 0
این یکیشون بود لینک (8 سال پیش)
0 0
این هم بود لینک (8 سال پیش)
0 0
فعلا دارم از روش فیساغورس استفاده می کنم :| !!! کدهایی که پایین گذاشتم مشخص می کنه کلمه ای که از طرف کاربر وارد شده فارسی هست یا خیر بعدش اومدم اطلاعاتی که از سمت سرور میاد هر رکورد تک به تک میریزم توی متغییر رشته ایبا کلمه مورد نظر مقایسه می کنم !!! که خیلی بده وقتی تعداد رکورد های دیتابیس پر بشه جستجو کردنش خیلی طول میکشه (8 سال پیش)
+2 0
نیاز به این کار نیست، به نظرمن اشکال از کوئری نوشتنتون هست ! (8 سال پیش)
0 0
یعنی دستوری که واسه جستجوی کلمه فارسی میفرستم باید با دستور جستجوی کلمه انگلیسی میفرستم فرق داشته باشه ؟ (8 سال پیش)
+1 0
شما اول بگید برنامتون برای توسعه از کدام نسخه api استفده میکنه؟ اندروید 4 به پایین یا به بالا (8 سال پیش)
0 0
android { compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig { applicationId "music.com.musics" minSdkVersion 19 targetSdkVersion 23 versionCode 1 versionName "1.0" (8 سال پیش)
0 0
پایین تر به شکل بهتری api که دارم استفاده می کنم گذاشتم (8 سال پیش)
+1 0
بر روی امولیتور برنامه رو تست میکنید یا گوشی واقعی؟ (8 سال پیش)
0 0
روی گوشی تست می کنم اصلا از امولیتور استفاده نمی کنم (8 سال پیش)
+3 0
این لینک هم یه نگاهی بندازین ولی بازم احتمال میدم از کوئری هاتون باشه ! (8 سال پیش)
+2 0
لینک مربوطه قسمت Update رو مشاهده کنید! (8 سال پیش)
0 0
مرسی از محبتتون :) (8 سال پیش)
0 0
خودشه ;) (8 سال پیش)
 برای این سوال 2 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
هادی بی غم  8 سال پیش
0 0

 پاسخ صحیح
 public static boolean isfarsi(String s) {
final Pattern RTL_CHARACTERS =
Pattern.compile("[\u0600-\u06FF\u0750-\u077F\u0590-\u05FF\uFE70-\uFEFF]");
Matcher matcher = RTL_CHARACTERS.matcher(s);
if(matcher.find()){
return true; // it's RTL
}

return false; // it's not RTL }
+1 0
با این کد درست شد یا خیر؟ (8 سال پیش)
+1 0
دوست عزیز با این کد درست شد یا خیر ؟ (8 سال پیش)
+1 0
با این کد که نوشتین درست شد یا خیر دوست عزیز؟ (8 سال پیش)
+1 0
ای بابا این که همش اسپم شد (8 سال پیش)
0 0
این خب روش من در آوردی خودمه !! :) (8 سال پیش)
0 0
کدهایی که گذاشتم مشخص می کنه کلمه ای که از طرف کاربر وارد شده فارسی هست یا خیر بعدش اومدم اطلاعاتی که از سمت سرور میاد هر رکورد تک به تک میریزم توی متغییر رشته ایبا کلمه مورد نظر مقایسه می کنم !!! که خیلی بده وقتی تعداد رکورد های دیتابیس پر بشه جستجو کردنش خیلی طول میکشه (8 سال پیش)
پاسخ به سوال 
هادی بی غم  8 سال پیش
0 0

 android {
compileSdkVersion 23
buildToolsVersion "23.0.3"

defaultConfig {
applicationId "music.com.musics"
minSdkVersion 19
targetSdkVersion 23
versionCode 1
versionName "1.0"
0 0
واسه این api هست (8 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .