• 0
gemswebs

( fopen ) لا تقرأ الحروف العربية

سؤال

هذة الدلة تستخرج الكلام من ملف (.doc)

ولكن المشكله انها تحول الحروف العربية الى حروف انجليزيه ..

 

و بعد  محاولات وجدت ان الحروف العربية تحول الى حروف ( ASCII ) .. اى لما يفابلها من الحروف الانجليزيه بهذا التكويد
مثال  : لو هذا السطر موجود في ملف الوورد 

Age: 23 year    علي  

 

عند الاستخراج عن طريق البي اتش بي .. يكون كالتالي :

Age: 23 year 9DJ

أي أجد أنن كلمة علي  تحولت إلى : 9DJ .. وهكذا  لكل الحروف العربية

 

 

ومرفق ملف فية الكود وملف اخر للتجربة علية

 

word.php

filename.doc

function word($filename){if(($fh = fopen($filename, 'r')) !== false ) {$headers = fread($fh, 0xA00);$n1 = ( ord($headers[0x21C]) - 1 );$n2 = ( ( ord($headers[0x21D]) - 8 ) * 256 );$n3 = ( ( ord($headers[0x21E]) * 256 ) * 256 );$n4 = ( ( ( ord($headers[0x21F]) * 256 ) * 256 ) * 256 );$textLength = ($n1 + $n2 + $n3 + $n4);$extracted_plaintext = @fread($fh, $textLength);$text=str_replace(  chr(13) , "\n", $extracted_plaintext);echo $text;}}word('filename.doc');
تم تعديل بواسطه gemswebs
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

2 إجابة على هذا السؤال .

  • 0

البرنامج يعمل جيداً الا أن هناك مشكلة في الترميز، يظهر أن ملف الورد يحفظ بترميز utf-16 little endian (أي utf-16 مقلوب)، وهو ترميز اليونيكود المستخدم في ويندوز، ولما تعرضه في الصفحة سيعتقد المتصفح أن ترميزه utf-8 لهذا ستظهر لك رموز غير مفهومة.

 

هناك حلين إما أن تجعل ترميز الرد UTF-16LE:

header('Content-Type: text/plain; charset=UTF-16LE');...

 

الا أنني لا أنصح بها، فسيتضاعف حجم الصفحة كثيراً دون داعي، الطريقة الثاني أن تحوّل النص من UTF-16LE إلى UTF-8 باستخدام الدالة mb_convert_encoding:

 

header('Content-Type: text/plain; charset=UTF-8');...        $text = mb_convert_encoding($text, 'UTF-8', 'UTF-16LE');        echo  $text;    }        }word('./filename.doc');
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

حاولت باسخدام :

mb_convert_encoding($text, 'UTF-8', 'UTF-16LE');

بالفعل الحروف العربي  ظهرت بدون مشاكل.. ولكن بقيت الملف ( الحروف الانجليزي ) بعضها  ظهر كحروف غريبة ، وبعضها  ظهر مظبوط ... 

ما الحل ؟؟ 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .