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

مشكله أثناء كتابة وقراءة نص عربي من ملف !

مغلق
بدأه زائرة عربية في 1 أكتوبر 2006 · 4 رد · 698 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

كل عام وأنتم بخير! :D

سؤالي عن التعامل مع الملفات بالنص العربي.......

في الكود المعروض، عندي ملف بالعربي اريد فتحه، ثم اريد ان اخذ كل كلمة من هذا الملف واستعرضه في صدر لحاله في التكست بوكس

واجهت هذه المشاكله: :(

الحروف العربيه تظهر مشفره في التكست بوكس

الملف محفوظ على شكل utf8

والصدر اللي فيه هذا الكود

	StreamReader sr = new StreamReader(aFile, System.Text.Encoding.Default);

غيرته الى

	StreamReader sr = new StreamReader(aFile, System.Text.Encoding.UTF8);

وفي كل حاله يطلع مشفر

كيف احل هذه المشكله

	
private void BrowseBtn_Click(object sender, System.EventArgs e)
{
	listBox1.Items.Clear();
	string fileName = "";
	string words;
	string word = null;
	char character;

	openTxtDialog.ShowDialog();
	fileName = openTxtDialog.FileName;
	FileStream aFile = new FileStream(fileName,FileMode.Open, FileAccess.Read);
	StreamReader sr = new StreamReader(aFile, System.Text.Encoding.Default);

	while (sr.Peek() > 0)
	{
		words = sr.ReadLine();

		foreach(byte aByte in words)
		{
			character = System.Convert.ToChar(aByte);
			if( character != ' ')
			{
				word += character;
			}
			else
			{
				listBox1.Items.Add(word);
				word = null;
			}
		}
		listBox1.Items.Add(word);
	}		

	aFile.Close();
}//end

وشكراً

-waf

#2

وانت بخير! :D

استخدم Encoding.Unicode

مثال :

string fileName = "MyText.txt";

StreamWriter myWriter = new StreamWriter(File.OpenWrite(fileName),Encoding.Unicode);
myWriter.Write("لا اله الا الله" +Environment.NewLine+ "محمد رسول الله");
myWriter.Close();

StreamReader myReader = new StreamReader(File.OpenRead(fileName),Encoding.Unicode);
string allText = myReader.ReadToEnd(); 
myReader.Close();

foreach(string word in allText.Split(' '))
{
	listBox1.Items.Add(word);
}

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

#3

بسم الله الرحمن الرحيم

شكرا لك معتز

ولكن مازالت الاحرف مشفره بعد التغيير :unsure:

ملاحظه: لقد قلت مسبقا بانه تكست بوكس، ولكنه لست بوكس....لا ادري، هل هذا السبب؟

تم تعديل هذه المشاركة بواسطة زائرة عربية في 2 أكتوبر 2006 في 02:57

#4

اخى الكريم

المشكلة ليست فى الترميز،،، يعنى لو جربت جميع انواع الـ Encoding لن تحل المشكلة،،المشكلة تكمن فى الكود الذى تكتبه هو الذى يقوم بتشفير الاحرف

جرب هذا الكود

 private void button1_Click(object sender, EventArgs e)
		{
			listBox1.Items.Clear();

					  char[] character;

			this.openFileDialog1.ShowDialog();

						StreamReader sr = new StreamReader(File.OpenRead(this.openFileDialog1.FileName), System.Text.Encoding.Default);
			string myString = sr.ReadToEnd();

			character = myString.ToCharArray();
			foreach(char chr in character)
			{
				if(chr!= ' ')
					this.listBox1.Items.Add(chr);
			}

		}

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#5

جزاك الله خير solo.net

:D

هذا الموضوع مغلق.

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

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

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

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

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