السلام عليكم
أجلب الوصف من قاعدة البيانات
ثم أستخدم substr لقص أول 155 حرف منه ثم أعرضه في الصفحة
في أخر الوصف أجد العلامة �
قم بتخزين الملف الموجود بداخله دالة substr بترميز utf-8 بواسطة محرر متقدم
ولكن نفس المشكلة
ما هو السبب
ولكم جزيل الشكر
السلام عليكم
أجلب الوصف من قاعدة البيانات
ثم أستخدم substr لقص أول 155 حرف منه ثم أعرضه في الصفحة
في أخر الوصف أجد العلامة �
قم بتخزين الملف الموجود بداخله دالة substr بترميز utf-8 بواسطة محرر متقدم
ولكن نفس المشكلة
ما هو السبب
ولكم جزيل الشكر
__________________
السيف أصدق أنباء من الكتب
مدونة Bruce - استخدم الترميز UTF-8 بالطريقة الصحيحة
اذا لم ينفعك حاول وضع header() في اعلي الملف وضع استعلام SET NAMES utf8
__________________
Bruce - مدونة شديدة التخصص في PHP وتطبيقات الويب
موجود إستعلام SET NAMES utf8 فعلاً
أفكر أزود حقل في الداتا بيز يكون فيه الوصف مقصوص مع أنها زيادة ما لها لزمة لكن هذا هو الحل الوحيد !!
__________________
السيف أصدق أنباء من الكتب
اخي شوف ترميز صفحة العرض نفسها بص روح علي المتصفح وشوف ترميز الصفحة اية وانت هتعرف ان شاء الله تحلها
__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
لطلب البرمجة فقط
helal-egypt@hotmail.com
اسف اخي
انا عتقد انه بيدخل البيانات بي ترميز والعرض بترميز اخر
جزاك الله خيرا اخي
__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
لطلب البرمجة فقط
helal-egypt@hotmail.com
البيانات في قاعدة البيانات مضبوطة
وكذلك عند جلبها بشكل كامل تأتي بشكل جيد وحينما يتم غدخالها كذلك
المشكلة في ال substr فقط ولا دخل لها بقاعدة البيانات
ال substr تقص بداخل ملف وبالتالي العلاقة هنا علاقة ملف وليس قاعدة بيانات
مشاكل ال utf كثيرة وعندك المشكلة التي تضيقني بشدة وهي strlen وشبيهاتها من دوال التعامل مع النصوص والتي تقص من اللغة العربية وغيرها في الترميز utf-8 بشكل خاطئ كونها تعتبر كل حرف ب 8 بيت !!!
أتمني أن تعالم ال php ذلك في ال php6
ومازلت أنتظر حل بدلاً من زيادة حقل في قاعدة البيانات
__________________
السيف أصدق أنباء من الكتب
يبقي شوف ترميز المتصفح نفسه لنه عمل قبل كده نفس المشكله
وانما علي دالهstrlen في داله مثلها اسمها mk_strlen
طريقة استخدمها كده
بس اخ محمود في منتدى بي اتش بي قال انه ابطئ عن strlen وقال اني استخدم الترميز العربي احسن وهي هتشتغل علي طولكود PHP:
mb_strlen($name,"utf-8")
__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
لطلب البرمجة فقط
helal-egypt@hotmail.com
__________________
صالح المطرفي (Mr.Saphpـ)
مدونتــــــي
الصندوق الماسي الخامس
قوالب WordPress
تم بحمد الله الإنتهاء من سكربت الدروس العربي 4.0
http://www.saphplesson.org
قمت بعمل كومبايل لهذه الإضافة لل php
وأستخدم الدالة بدل الأخري ولكن نفس المشكلة
هذا مثال لسورس كود الصفحة
ألاحظ حدوث ذلك مع حروف معينة مثل ال خ و حكود HTML:<html dir="rtl"> <head><meta http-equiv="Content-Type" content="text/html; charset=windows-utf-8"></head>PdfFactory Pro يمكنك بواسطة هذا البرنامج تحويل أي ملف تقوم بتحديده إلى مستندات بي دي اف (PDF) وهو تشكيل المستند المتنقل والذي يمكن قراءته على أنواع م�ff
__________________
السيف أصدق أنباء من الكتب
أخي هي كذلك معذرة نقلتها فوق خطأ
عموما أفتح ملف لديك وضع فيه المحتوي التالي
ثم أحفظه بالترميز utf-8 بواسطة محرر متقدمكود PHP:
<?php
header("(anti-spam-content-type:) text/html; charset=UTF-8");
$val = "تحية";
//echo substr($val, 0, 3)."f";
echo mb_substr($val, 0, 3)."f";
?>
أفتح الصفحة ستجد علامة الإستفهام في وجهك :eek3:
__________________
السيف أصدق أنباء من الكتب
كود PHP:
<?php
header('(anti-spam-content-type:) text/html; charset=utf-8');
$val = "تحية";
//echo substr($val, 0, 3)."f";
echo mb_substr($val, 0, 3,"utf-8")."f";
?>
حل هذه المشكلة يكمن في استخدام الدالة mb_substr ، اذا لم ينفع معك ذلك فلديك خلل في الترميز ..
__________________
مدونة؟
الحل علي ماأظن
اذا كنت تستخدم PSPAD فافتح الملف وعدل عليه كما تشاء لكن قبل الحفظ اختر
من القائمة العلوية
FORMAT -> UTF-8
تم قم بالحفظ
اي تعديل في الملف يجب قبل الحفظ ان تختار الفورمات يو تي اف - 8
واذا قمت بتعديل الملف ليس بواسطة المحرر مثلا بالنوت باد العادي فسيتغير الي ANSI
ولهذا انتبه لهذة النقطة
سلام
__________________
Bruce - مدونة شديدة التخصص في PHP وتطبيقات الويب