php驗證亂碼怎么辦

這篇文章主要介紹php驗證亂碼怎么辦,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)-云計算及IDC服務提供商,涵蓋公有云、IDC機房租用、服務器托管、等保安全、私有云建設等企業(yè)級互聯(lián)網(wǎng)基礎服務,咨詢熱線:18982081108

php驗證亂碼的解決辦法:首先打開文件代碼;然后使用函數(shù)“mb_convert_encoding($code,"utf-8","gbk");”對中文進行轉換編碼即可。

php中文驗證碼,中文亂碼

文件代碼:

1.cn.php

<?php
/*********************************
* Code by Gently
* 24/07/07
*嚴正聲明:驗證碼為程序隨機生成,“某種巧合”的詞語組合屬于正?,F(xiàn)象
,
*某些別有用心的人不要借題發(fā)揮!
*Power by ZendStudio.Net
*(http://www.zendstudio.net/)
*********************************/
session_start();
header("Content-type: image/PNG");
$w=180;
$h=60;
$fontface="fonts/GB2312.ttf"; //字體文件linux支持直接使用windows的字體
$str = "據(jù)了解受意大利卡拉拉市文化部部長喬凡娜貝爾納迪尼邀請云浮市美術家協(xié)會主席葉仲橋帶著他的四十多幅作品前往卡拉拉市在當?shù)氐拇罄硎┪镳^舉辦畫展其中歡樂蘭寨花開時節(jié)兩幅作品贈予卡拉拉市博物館永久收藏全國書法家協(xié)會副會長陳永正欣然為畫展題字葉仲橋中國畫展此次畫展不但獲得卡拉拉市政府高度重視與支持還引起當?shù)厥忻窦叭A人華僑的熱情關注卡拉拉市的新聞媒體記者專門采訪了葉仲橋當?shù)貓蠹堃詧D文形式大篇幅報道了此次畫展的情況";
$code="";
for($i=0;$i<4;$i++){
$Xi=mt_rand(0,strlen($str)/2);
if($Xi%2) $Xi+=1;
$code.=substr($str,$Xi,2);
}
$_SESSION["checkcode"] = mb_convert_encoding($code,"utf-8","gbk");
$im=imagecreatetruecolor($w,$h);
$bkcolor=imagecolorallocate($im,250,250,250);
imagefill($im,0,0,$bkcolor);
/***添加干擾***/
for($i=0;$i<15;$i++){
$fontcolor=imagecolorallocate($im,mt_rand(0,255),mt_rand
(0,255),mt_rand(0,255));
imagearc($im,mt_rand(-10,$w),mt_rand(-10,$h),mt_rand
(30,300),mt_rand(20,200),55,44,$fontcolor);
}
for($i=0;$i<255;$i++){
$fontcolor=imagecolorallocate($im,mt_rand(0,255),mt_rand
(0,255),mt_rand(0,255));
imagesetpixel($im,mt_rand(0,$w),mt_rand(0,$h),$fontcolor);
}
/***********內(nèi)容*********/
for($i=0;$i<4;$i++){
$fontcolor=imagecolorallocate($im,mt_rand(0,120),mt_rand
(0,120),mt_rand(0,120)); //這樣保證隨機出來的顏色較深。
$codex=iconv("GB2312","UTF-8",substr($code,$i*2,2));
imagettftext($im,mt_rand(20,24),mt_rand(-
60,60),40*$i+20,mt_rand(30,35),$fontcolor,$fontface,$codex);
}
imagepng($im);
?>

2、表單文件

<?php
#header("Content-Type: text/html; charset=utf-8");
session_start();
if(@$_POST['checkcode'])
{
if($_POST["checkcode"] == $_SESSION["checkcode"])
    {
echo" 恭喜你!驗證碼輸入正確!";
    }else{
echo" 不好意思驗證碼輸入錯誤!<br>";
echo" 你剛才輸入的驗證碼是:<br>";
echo  $_POST["checkcode"];
echo" <br>正確驗證碼是:<br>";
echo  $_SESSION["checkcode"];
    }
}
?>
<form action="" method="post">
<img src="cn.php"/></br>
<input type="text" name="checkcode"></br>
<input type="submit" value="submit"></br>
</form>

第一個文件cn.php中有很關鍵的一行代碼,網(wǎng)上轉貼的程序都沒有寫入。

就是

$_SESSION["checkcode"] = mb_convert_encoding($code,"utf-8","gbk");

使用函數(shù) mb_convert_encoding對中文進行轉換,不然session傳送過去的變量會是亂碼。

以上是php驗證亂碼怎么辦的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享名稱:php驗證亂碼怎么辦
文章地址:http://muchs.cn/article36/jcpjpg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供虛擬主機定制網(wǎng)站、響應式網(wǎng)站全網(wǎng)營銷推廣、標簽優(yōu)化、手機網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司