انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: rahmani در 13 آذر 1392، 01:27 بظ
-
سلام
من یک برنامه نوشتم که ویژگی های تعداد بسیار کمی مقاله فارسی را از اینترنت گرفته و در جدول پایگاه داده ها ذخیره می کند از انجا که این ویژگی ها فارسی هست من هم collation را برای جدول و پایگاه داده و برخی ستون ها utf8mb4_persian_ci انتخاب کرده ام اما متاسفانه بازهم با حروف ناشناس در جدول پایگاه داده نمایش داده می شود شما می دانید مشکل از کجاست؟
برای اطمینان از اینکه ویژگی ها به درستی انتخاب شده اند ان ها را در مرورگر هم چاپ کرده ام که شکر خدا در اینجا درست نشان می دهد
در ضمن یک سطر هم به صورت دستی و بدون استفاده از برنامه درج کردم این سطر درست ذخیره و نمایش داده می شود
سپاسگزارم
-
سلام
بعد از این که به پایگاه داده وصل شدیم یک query به شکل زیر اجرا می کنیم.
mysql_query("set names utf8");
collation راهم utf8-persian_ci تعریف می کنیم.
-
زبان و پایگاه دادتو تو عنوان مشخص کن!
-
سلام
من می خوام یک رشته فارسی را که از اینترنت گرفتم در جدول ذخیره کنم<?php
$HTML = file_get_html($Path);
$MetaDataStart = strpos($HTML,"<table border='0' cellspacing='0' cellpadding='0' width='100%'>");
$MetaDataEnd = strpos($HTML,"</div><br><div class='border'>");
$MetaData = substr($HTML,$MetaDataStart,$MetaDataEnd - $MetaDataStart);
$TitleStart = 'عنوان مقاله';
$TitleEnd = $HeaderStart = 'سرفصل مربوط';
$TitleStart = strpos($MetaData,$TitleStart);
$TitleEnd = strpos($MetaData,$TitleEnd);
$Title = substr($MetaData,$TitleStart,$TitleEnd-$TitleStart);
echo '<br>start title'.$TitleStart.' end '.$TitleEnd.'<BR>'; echo $Title.'<br>';
$TitleStart = strpos($Title,":")+94;
$TitleStart = strpos($Title,"<span itemprop='name'>")+22;
$TitleEnd = strpos($Title,'</span></font>');
$Title = substr($Title,$TitleStart,$TitleEnd-$TitleStart);
$Title = str_replace("'","''",$Title);
echo '<br>start '.$TitleStart.' end '.$TitleEnd.'<BR>'; echo $Title.'<br>';
?>
جالب هست بدونید وقتی در مرورگر چاپ می کنم درست نشان میدهد اما هنگام ذخیره در پایگاه داده ها خطای زیر را می دهد:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '3'
در این مثال خاص رشته مورد نظر این هست: لغزش «شبه گوه اي سرچشمه» و روشهاي مقابله با آن
-
سلام
مشکل از متغیر دیگری بود که این کار را برایش نکرده بودم و شامل ' بود
<?php
$Title = substr($Title,$TitleStart,$TitleEnd-$TitleStart);
$Title = str_replace("'","''",$Title);
?>