0

Unicode 字符以这种格式存储在 mysql 数据库中

یہاں تو

我的数据库中不仅有 unicode 字符,还有 html 和英文字符混合在一起。

问题是我想从数据库字段中获取部分字符串'post_body' 我使用了以下 sql 查询

"SELECT SUBSTRING(post_body,1,120) as pst_body from mytable";

这个字符串准确地给了我 120 个字符。但问题是数据库中是否有 unicode 符号ی is equal to 1 unicode character,所以我的要求不能以这种方式满足。是否有任何函数可以返回我指定的字符数,无论是 unicode 字符还是英文字符,意味着如果有 unicode 数据,它应该算作ی一个字符。

4

1 回答 1

0

我不认为,在 mysql 中有任何选项,您可以从 mysql 获取数据然后在 PHP 中执行操作。

function getSubstring($string, $number){

    $keywords = preg_split("/([&])+/", htmlentities($string));
    $finalArray = array();
    unset($keywords[0]);

    for($index = 1;$index <= $number;$index++){
        $finalArray[] = $keywords[$index];
    }
    return str_replace('amp;', '&', implode('', $finalArray));
}

 //$string = &#1740;&#1729;&#1575;&#1722; &#1578;&#1608;
 //$number = 10;// number of character to be fetch
 echo getSubstring($string,10);
于 2013-04-05T12:50:35.340 回答