Php POST变量和波斯语字符

Php POST变量和波斯语字符,php,unicode,persian,Php,Unicode,Persian,发送波斯字符时,$\u POST变量有问题 <?php if (isset($_POST['caption'])){ $captione = $_POST['caption']; // I sent ض from form $cap = str_replace('ض','you',$captione); echo $captione.'<br>'; //output ض echo $cap; //output ض }else{ logi

发送波斯字符时,$\u POST变量有问题

<?php
if (isset($_POST['caption'])){
    $captione  = $_POST['caption']; // I sent ض from form
    $cap = str_replace('ض','you',$captione);
    echo $captione.'<br>'; //output ض
    echo $cap; //output ض
}else{
    loginForm();
}

function loginForm(){
    echo '<form id = "myform" action="t.php" method="POST">';
    echo 'caption: <textarea id="user_data" name="caption" type="text" ></textarea>';
    echo '<input type="submit" value="Send File"  />';
    echo '</form>';
}
?>

captione==cap
stru_replace
在字幕中找不到ض

但是当
echo$_POST['caption']
输出为

时,尝试使用,例如
mb_ereg_replace()
替换用户输入中的波斯语字符。

不起作用$船长=‘ض’$cap=strضU replace('ض'、'you'、$captione);此代码工作正常,但当从表单接收时不工作,可能您的编码不匹配。什么是表单编码?!?比如页面编码?或提交表单时,将
accept charset
标题设置为
UTF-8
。将表单页面字符编码更改为unicode并提交表单时,问题已得到解决。我的英语很好:)