عندي مشكلة في اطار فلاسك :لما اعرض روابط لملفات مخزنة في قاعدة بيانات باللغة العربية واضغط على الربط لعرض الملف يظهر الملف غير موجود واذا كان رابط الملف بالانجليزي يظهر الملف تمام ...ايش الحل ؟
فتح الرابط لملف
شي طريقة ثانية لعرض الملفات من قاعدة البيانات افضل من هذة:
{% for post in sd11 %}
<table width='100%' border='5' cellpadding'5' bgcolor='green'>
<tr>
<td>
<center><font size=10><a href="{{ url_for('static', filename=post['nm2'])}}">{{post['namedb']}}</a></font></center>
يمكنك عرض البيانات مرقمة في List بدلاً من تضمينها في جدول، لتطبيق ذلك إليك الكود التالي:
<ol>
{% for post in sd11 %}
<li>
<a href="{{ url_for('static', filename=post['nm2'])}}">{{post['namedb']}}</a>
</li>
{% endfor %}
</ol>
ملاحظة:
<ol>
هو عنصر القائمة المرتبة/ المرقمة وهو إختصار لـOrdered List
أما li فهو إختصار لـ List Item أي أنه عنصر في القائمة.
المشكلة المتعلقة باللغة العربية ليست من إطار flask بل أعتقد أنها متعلقة بإسم الملف الموجود في قاعدة البيانات SQLite 3 المستخدمة في التطبيق أو في آلية جلبك لأسماء الملفات.
قمت بتجربة بسيطة بإستخدام flask وقد كتبت الإسم باللغة العربية ولم يواجهني أي مشاكل.
مرفق صورة التجربة.
تم إدخال رابط الملف بشكل مباشر( لم يتم جلبه من قاعدة بيانات) كما يظهر بالكود التالي:
<a href="{{ url_for('static',filename='الملف الخاص بي.txt')}}">test</a>
الرابط حق الملف صح 100% ولكن الرابط بعد الضغط علية يطلع هكذا:
شي حل لترميز هذا:%25D8%25AC%25D8%25AF%25D9%258A%25D8%25
الرابط حق الملف صح 100% ولكن الرابط بعد الضغط علية يطلع هكذا:
شي حل لترميز هذا:%25D8%25AC%25D8%25AF%25D9%258A%25D8%25
مرحبا،
ما هو الترميز المستخدم في قاعدة البيانات؟
هل يمكنك ايضا تصوير جزء من الجول الذي يحوي بيانات مسار الملفات؟
في حان ترميز قاعدة البيانات مختلف عن utf 8 هذا يسبب المشكلة. اختر utf8_unicode_ci
التعليقات