Php 问号(࿽;)代替每个孟加拉语unicode字符显示。如何修复它?

Php 问号(࿽;)代替每个孟加拉语unicode字符显示。如何修复它?,php,unicode,utf-8,special-characters,Php,Unicode,Utf 8,Special Characters,这个问题令人困惑,比如 当我试图显示孟加拉语unicode单词时,'কলম' 用这个 $data=$_POST['data']; echo $data; for($i=0;$i<3;$i++) { echo $data[$i]; echo "+"; } 然后显示单词“কলম“如我所愿 但是当我把这个词一个字一个字地用这个分开的时候 $data=$_POST['data']; echo $data;

这个问题令人困惑,比如

当我试图显示孟加拉语unicode单词时,'কলম' 用这个

 $data=$_POST['data'];
 echo $data;
    for($i=0;$i<3;$i++)
    {
        echo $data[$i];         
        echo "+";
    }
然后显示单词“কলম“如我所愿

但是当我把这个词一个字一个字地用这个分开的时候

 $data=$_POST['data'];
 echo $data;
    for($i=0;$i<3;$i++)
    {
        echo $data[$i];         
        echo "+";
    }
$i=0;$i的


使用
mb\u substr($data,$i,1)
代替。您使用的是多字节字符串。

使用
mb\u substr($data,$i,1)
代替。您使用的是多字节字符串。

尝试一下,希望这能奏效

<?php
$data = $_POST['data'];
$strlen = mb_strlen( $data );
for( $i = 0; $i <= $strlen; $i++ ) {
    $char = mb_substr( $str, $i, 1 );
    echo $char;
    echo '+';
}
?>

试试这个,希望能奏效

<?php
$data = $_POST['data'];
$strlen = mb_strlen( $data );
for( $i = 0; $i <= $strlen; $i++ ) {
    $char = mb_substr( $str, $i, 1 );
    echo $char;
    echo '+';
}
?>

如果您看到该字符(� U+FFFD“替换字符”)它通常意味着文本本身以某种形式的单字节编码进行编码,但以一种unicode编码(UTF8或UTF16)进行解释。添加标题(“内容类型:text/plain;charset=ISO-8859-1”);如果您看到该字符(� U+FFFD“替换字符”)通常意味着文本本身以某种形式的单字节编码进行编码,但以一种unicode编码(UTF8或UTF16)进行解释。添加标题(“内容类型:text/plain;charset=ISO-8859-1”);