php عربي

عندي مشكلة إذا اعطيت متغير قيمة بالعربي يطلع نصه حروف عربيه ونصه رموز مع إني حافظه الملف مع utf-8


التعليق السابق

<?php

ini_set('default_charset', 'utf-8');

header('Content-type: text/html; charset=UTF-8');

session_start();

$status = '';

if ( isset($_POST['captcha']) && ($_POST['captcha']!="") ){

// Validation: Checking entered captcha code with the generated captcha code

if(strcasecmp($_SESSION['captcha'], $_POST['captcha']) != 0){

// Note: the captcha code is compared case insensitively.

// if you want case sensitive match, update the check above to strcmp()

$status = "<p style='color:#FFFFFF; font-size:20px'><span style='background-color:#FF0000;'>Entered captcha code does not match! Kindly try again.</span></p>";

}else{

$status = "<p style='color:#FFFFFF; font-size:20px'><span style='background-color:#46ab4a;'>Your captcha code is match.</span></p>";    

    }

}

?>

<html>

<head>

<title>Captcha</title>

<meta charset="utf-8">

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

</head>

<body>

<?php echo $status; ?>

<form name="form" method="post" action="" accept-charset="UTF-8">

<label><strong>أدخل الرمز:</strong></label><br />

<input type="text" name="captcha" />

<p><br /><img src="captchaa.php?rand=<?php echo rand(); ?>" id='captcha_image'></p>

<p>الحروف غير واضحه؟<a href='javascript: refreshCaptcha();'>اضغط هنا</a> لإعادة التحميل</p>

<input type="submit" name="submit" value="أرسل">

</form>

<br /><br />

<script>

//Refresh Captcha

function refreshCaptcha(){

    var img = document.images['captcha_image'];

    img.src = img.src.substring(0,img.src.lastIndexOf("?"))+"?rand="+Math.random()*1000;

}

</script>

</body>

</html>

هذا كود html للواجهه

ربما المشكلة من التعامل مع السلاسل النصية لديك، حيث أن تخزين محارف عربية يتم على ضعف عدد البايتات لمحارف الانكليزي و تستخدم دوال  Multibyte String Functions أرجو القراءة أكثر عنهم

و ربما عليك استخدام أيضاً في أول الملف

mb_internal_encoding('UTF-8');