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

ماهي طريقة تحويل نص الى ترميز آخر

بدأه أبورنه في 29 نوفمبر 2009 · 10 رد · 1,729 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

ماهي طريقة تحويل نص إلى ترميز آخر

مثال:

النص الأصلي هو

أبورنه

بعد الترميز

ط£ط¨ظˆط±ظ†ظ‡

ماهو هذا الترميز وماهي اسهل الطرق للتحويل له

وجزاكم الله خير

#2

هل تحاول إخراجه في صفحة للعرض مثلاً؟

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

يوجد موضوع بهذا القسم من المنتدى يشرح كيفية التحويل من ترميز إلى آخر

سأبحث عنه وإذا وجدته سأضع الرابط

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#4

هذا الترميز ناتج عن تفكيك (قرائة) نص مرمز بـ utf-8 على أنه windows-1256

إذا كانت تتكلم عن php فيمكنك إصلاحه باستخدام:

iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text)

أما إذا أردت أن تصلح ملفاً ما، فإليك هذا البريمج في جافا:

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.Charset;
import javax.swing.*;

public class fixxxxer extends JFrame{
	File f;
	FileInputStream fis;
	Charset Win1256 = Charset.forName("windows-1256");
	Charset utf8 = Charset.forName("UTF-8");

	JFileChooser fc = new JFileChooser();
	JButton fcb = new JButton("تحديد الملف");
	JTextArea t = new JTextArea();
	JScrollPane sp = new JScrollPane(t);

	public fixxxxer(){
		t.setEditable(false);
		this.getContentPane().add(fcb,BorderLayout.NORTH);
		this.getContentPane().add(sp,BorderLayout.CENTER);
		this.setSize(400,300);
		this.setVisible(true);

		fcb.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				int returnVal = fc.showOpenDialog(fixxxxer.this);
				if(returnVal == JFileChooser.APPROVE_OPTION) {
					try {
						f = fc.getSelectedFile();
						fis = new FileInputStream(f);
					} catch (Exception e) {
						t.setText("خطأ في قرائة الملف");
					}
				}
				byte b[] = new byte[(int) f.length()];
				try {
					fis.read(b);
				} catch (Exception e) {
					t.setText("خطأ في معالجة الملف");
				}
				ByteBuffer bb = ByteBuffer.wrap(b);
				CharBuffer charBuffer = utf8.decode(Win1256.encode(utf8.decode(bb)));
				t.setText(charBuffer.toString());
			}
		});
	}
	public static void main(String []args){
		new fixxxxer();
	}
}
1
#5

انا ابغى احول من العربي الصحيح الى هذا الترميز

انا ابغى ان اقوم بالترميز وليس الغيه

ومشكور وجزاك الله خير

#6

هذا ليس بترميز ... هذا خطأ بقرائة الترميز كما قلت لك !

والطريقة أعلاه لإصلاحه.

أما إذا كان هدفك التشفير فلا أنصحك بهذا أبداً ! فهي طريقة ضعيفة !

على أي حال أظن أن الفكرة أصبحت واضحة، يمكنك ذلك باستخدام نفس التابع في php ونفس البرنامج، فقط احفط الملف المراد إصلاحع بترميز UTF-8 وغير السطر التالي:

CharBuffer charBuffer = utf8.decode(Win1256.encode(utf8.decode(bb)));

إلى:

CharBuffer charBuffer = Win1256.decode(bb);
#7

اخوي بصراحه لجأت لهذه الطريقة لإنه يوجد لدي اكثر من موقع بحث مثل الياهو و غيره لا يتم البحث به إلا بهذه الطريقة

انا لدي موقع وارغب في وضع خانة خاصة بالبحث بالياهو يعني مجرد مربع نص وزر فقط

وعند كتابة الجملة يبحث في صفحة الياهو

عندما ابحث باللإنجليزي لا يوجد مشلكة

http://search.yahoo.com/search?p=aa

عندما ابحث بالعربي

http://search.yahoo....search?p=أبورنه

لا يبحث

ولكن إذا حولتا للترميز الذي ذكرت شاهد النتيجة

http://search.yahoo....?p=ط£ط¨ظˆط±ظ†ظ‡

اذا كان هناك طريقة أخرى

فذكروها لي مشكورين

--------------

اذا لم تعمل الروابط التي في الاعلى

انسخ هذا الرابط

http://search.yahoo.com/search?p=

واضف بعده

aa

أو

ط£ط¨ظˆط±ظ†ظ‡

تم تعديل هذه المشاركة بواسطة أبورنه في 1 ديسمبر 2009 في 13:23

#8

هل المسألة صارت اصعب ..

طيب خلونا من البحث وخلونا بالترميز ..

اتمنى إجابتي للأهمية ولكم من جزيل الشكر

#9

أخي هل جربت

iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text)

؟؟؟؟؟؟

لآنها هي الحل الأمثل

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#10

أخوي جزاك الله خير

هل اكتبها بالطريقة هذه

<?
$text = "أبورنه";
iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text)
echo $text;
?>

لانه يطلع لي رسالة خطأ سواء بالاباتشي على الجهاز او عند الرفع على الموقع

تم تعديل هذه المشاركة بواسطة أبورنه في 3 ديسمبر 2009 في 08:35

#11

الحل باستخدام الدالة المذكورة ... وهذا وصفها:

string iconv ( string $in_charset , string $out_charset , string $str )

اقتباس
هل اكتبها بالطريقة هذه

هذا يعتمد على الترميز الأساسي للنص وعلى الترميز المراد الحصول عليه.

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