عندي مشكلة إذا اعطيت متغير قيمة بالعربي يطلع نصه حروف عربيه ونصه رموز مع إني حافظه الملف مع utf-8
php عربي
يتوجب إعادة تشغيل restart لمخدم الويب بعد عمل التعديل على ترميز المحارف، وهي تعديل ملف php.ini
default_charset = "utf-8"
وي الملف الذي ننفذه إن كان HTML نضيف أحد العبارتين:
في بدابة ملف PHP ini_set('default_charset', 'utf-8'); , header('Content-type: text/html; charset=UTF-8'); //**** في شيفرة HTML <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php ini_set('default_charset', 'utf-8'); header('Content-type: text/html; charset=UTF-8'); session_start(); //You can customize your captcha settings here $captcha_code = ''; $captcha_image_height = 50; $captcha_image_width = 130; $total_characters_on_image = 5; //The characters that can be used in the CAPTCHA code. //avoid all confusing characters and numbers (For example: l, 1 and i) $possible_captcha_letters = ' ب ت ث ج ح خ د ذ ر ز س ش ص ض ع غ ف ق ك ل م ن و ه ي'; $captcha_font = 'Calibri.ttf'; $random_captcha_dots = 50; $random_captcha_lines = 25; $captcha_text_color = "0x142864"; $captcha_noise_color = "0x142864"; $count = 0; while ($count < $total_characters_on_image) { $captcha_code .= substr( $possible_captcha_letters, mt_rand(0, strlen($possible_captcha_letters)-1),1); $count++; } $captcha_font_size = $captcha_image_height * 0.65; $captcha_image = @imagecreate( $captcha_image_width, $captcha_image_height ); /* setting the background, text and noise colours here */ $background_color = imagecolorallocate( $captcha_image, 255, 255, 255 ); $array_text_color = hextorgb($captcha_text_color); $captcha_text_color = imagecolorallocate( $captcha_image, $array_text_color['red'], $array_text_color['green'], $array_text_color['blue'] ); $array_noise_color = hextorgb($captcha_noise_color); $image_noise_color = imagecolorallocate( $captcha_image, $array_noise_color['red'], $array_noise_color['green'], $array_noise_color['blue'] ); /* Generate random dots in background of the captcha image */ for( $count=0; $count<$random_captcha_dots; $count++ ) { imagefilledellipse( $captcha_image, mt_rand(0,$captcha_image_width), mt_rand(0,$captcha_image_height), 2, 3, $image_noise_color ); } /* Generate random lines in background of the captcha image */ for( $count=0; $count<$random_captcha_lines; $count++ ) { imageline( $captcha_image, mt_rand(0,$captcha_image_width), mt_rand(0,$captcha_image_height), mt_rand(0,$captcha_image_width), mt_rand(0,$captcha_image_height), $image_noise_color ); } /* Create a text box and add 6 captcha letters code in it */ $text_box = imagettfbbox( $captcha_font_size, 0, $captcha_font, $captcha_code ); $x = ($captcha_image_width - $text_box[4])/2; $y = ($captcha_image_height - $text_box[5])/2; imagettftext( $captcha_image, $captcha_font_size, 0, $x, $y, $captcha_text_color, $captcha_font, $captcha_code ); /* Show captcha image in the html page */ // defining the image type to be shown in browser widow header('Content-Type: image/jpeg'); imagejpeg($captcha_image); //showing the image imagedestroy($captcha_image); //destroying the image instance $_SESSION['captcha'] = $captcha_code; function hextorgb ($hexstring){ $integar = hexdec($hexstring); return array("red" => 0xFF & ($integar >> 0x10), "green" => 0xFF & ($integar >> 0x8), "blue" => 0xFF & $integar); } ?>
<?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 للواجهه
التعليقات