الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أسماء الملفات العربية تظهر بصورة غير مفهوة

بدأه AboMoayad في 15 سبتمبر 2009 · 13 رد · 1,273 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

المشكلة أن يوجد ملفات في فولدر على السيرفر ( على النت وليس محلي ) ولدي كود يقرأ أسماء الملفات والتي اسمها بالعربي ليظهره على DataList على شكل ارتباط ليقوم الزائر ليسمح له بتحميل

الملف على جهازه ... المشكلة أن اسماء الملفات تظهر بشكل خرابيش الدجاج ...

اللهم أطل عمري وأحسن عملي واختم بالشهادة أجلي

#2

وهذا الكود الذي يقرأ الملفات التي على السيرفر ليعرضها على DATALIST

<asp:DataList ID="DataList1" runat="server" Font-Bold="True" Font-Size="Large" 
		Width="261px" BackColor="#CCCCCC" BorderColor="#999999" 
	BorderStyle="Solid" BorderWidth="3px" CellPadding="4" CellSpacing="2" 
	ForeColor="Black" GridLines="Both" ToolTip="انقر على الملف لتحميله">
		<SelectedItemStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
		<HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
		<ItemTemplate>
			<a href='<%#Me.ResolveUrl("~/TafeeFiles/"&Eval("Name"))%>'>
			<%#IO.Path.GetFileNameWithoutExtension(Eval("FullName"))%></a>
		</ItemTemplate>
		<FooterStyle BackColor="#CCCCCC" />
		<ItemStyle Font-Names="Tahoma" Font-Size="Small" BackColor="White" />
	</asp:DataList>

اللهم أطل عمري وأحسن عملي واختم بالشهادة أجلي

#3

أتمنى من الأخوة الأفاضل الإدلاء بحلولهم

اللهم أطل عمري وأحسن عملي واختم بالشهادة أجلي

#4

السلام عليكم

ممكن ارسال كامل كود الصفحة ربما يكون الخطأ في ترميز الصفحة .

رَبِّ أَوْزِعْنِي أَنْ أَشْكُرَ نِعْمَتَكَ الَّتِي أَنْعَمْتَ عَلَيَّ وَعَلَى وَالِدَيَّ وَأَنْ أَعْمَلَ صَالِحًا تَرْضَاهُ وَأَدْخِلْنِي بِرَحْمَتِكَ فِي عِبَادِكَ الصَّالِحِينَ

تلاوات خاشعة مؤثرة

#5

قمت بحفظ الصفحة بالترميز UTF-8 Codepage 65001

اللهم أطل عمري وأحسن عملي واختم بالشهادة أجلي

#6

أضف الكود التالي فى ملف web.config

 <globalization requestEncoding="windows-1256" responseEncoding="windows-1256" fileEncoding="windows-1256" culture="ar-sa" uiCulture="ar-sa

" />

#7
هانى جلال كتب:
أضف الكود التالي فى ملف web.config

 <globalization requestEncoding="windows-1256" responseEncoding="windows-1256" fileEncoding="windows-1256" culture="ar-sa" uiCulture="ar-sa

" />

استاذ / هاني جلال طبقت ما ذكرته لكن تحولت النصوص الى علامات استفهام , التوضيح بالصورة

اللهم أطل عمري وأحسن عملي واختم بالشهادة أجلي

#8

السلام عليكم ورحمة الله وبركاته

ضع الكود التالي في تاج الهيد وان شاء الله يشتغل معاك

<meta http-equiv="Content-Type" content="text/html"; charset="windows-1256">

أخبرنا بالنتيجة

إذا أردت أن تـجـعـلـنـي سـعـيـداً ... فـعـلـمـنـي شـيـئـاً جـديـداً

#9

اضف هذا الوسم فى رأس الصفحة

<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<head>

أضف الكود التالي فى ملف web.config

<configuration>
   <system.web>
			   <globalization requestEncoding="utf-8" 
							 responseEncoding="utf-8" 
							 fileEncoding="utf-8" 
							 culture="ar-SA" 
							 uiCulture="ar" 
							 enableClientBasedCulture="false" 
							 responseHeaderEncoding="utf-8" 
			   />
   </system.web>
</configuration>

واحفظ الملف بترميز utf-8 من خلال File->Advanced Save Options

مواضيع متنوعة

#10

رجعت المشكلة لعلامت الأسكي (قصه سامى البرنس ) علما أني أضفت :

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

في الماستر بيج

تم تعديل هذه المشاركة بواسطة مبرمج القاعده في 7 نوفمبر 2009 في 22:00

اللهم أطل عمري وأحسن عملي واختم بالشهادة أجلي

#11

أخي الفاضل

ربما المشكلة تكون في نوع البيانات في حقل قاعدة البيانات

اجعل نوع الحقل

Nvarchar

وليس varchar

ثم ادخل سجل جديد الى قاعدة البيانات

قبل ذلك واجهتني نفس المشكلة وكان هذا هو الحل

جرب وأخبرنا بالنتيجة

والله الموفق

#12

استاذ (ananabha) .. الموضوع ليس له علاقة بقاعدة البيانات لأن الملفات ( مسماة بالعربي ) وموجودة على مجلد في سيرفر أجنبي لكن البرنامج لا يقرأها الا بفورمات غير مفهومة أسكي كود او علامات استفهام

اللهم أطل عمري وأحسن عملي واختم بالشهادة أجلي

#13

هانى جلال كتب:
أضف الكود التالي فى ملف web.config

 <globalization requestEncoding="windows-1256" responseEncoding="'UTF-8" fileEncoding="windows-1256" culture="ar-sa" uiCulture="ar-sa

" />

غير الكود ده إلى

<globalization responseEncoding="UTF-8" fileEncoding="UTF-8" culture="ar-sa" uiCulture="ar-sa" />

و كمان

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<head>

إلى

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1256" />

<head>

أنا عامل كده في الموقع بتاعي و شغال ممتاز جدا"

#14

طريقة مؤقتة لحل هذه المشكلة وهى تحويل اسم الملف الى مصفوفة من نوع بايت وتحويلها الى هيكس واستعادتها مره اخرى عند طلب الملف

مثال على ذلك

public static string SaveFileName(string filename)
{
	byte[] byteFileName = Encoding.UTF8.GetBytes(filename);
	string result = string.Empty;
	foreach(byte b in byteFileName)
	{
		result += b.ToString("x2");
	}
	return result;
}

public static string RestorFileName(string filename)
{
	byte[] byteFileName = new byte[filename.Length / 2];
	for(int i = 0, j = 0; i < filename.Length; i += 2, j++)
	{
		byteFileName[j] = byte.Parse(
			filename.Substring(i, 2),
			System.Globalization.NumberStyles.HexNumber);
	}
	return Encoding.UTF8.GetString(byteFileName);
}

حيث عند رفع الملف وحفظة نادى الدالة SaveFileName وعند طلب الملف نادى الدالة RestorFileName

بالتوفيق

مواضيع متنوعة

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…