php htmlentities损坏字符串

时间:2014-12-04 17:48:50

标签: php html-entities mysql-real-escape-string

出于安全考虑,我想添加一个函数,通过使用下面的代码将字符串转换为安全格式。在正常的英文字符中它工作正常,但是当我使用像ከበደ这样的阿姆哈拉字符时,我会得到不同的字符串ከበደ,我该怎么做。

    echo safestring("ከበደ");
    //the string after echo is absolutely changed


    function safestring($str){

        //make the string from SQL injection
        $str  = htmlentities($str);
        $str= mysql_real_escape_string($str);
        return $str;
    }

1 个答案:

答案 0 :(得分:2)

首先,首先,您要为文档提供charset

<强> HTML

只需将以下代码添加到HTML

<head>元素中即可
         <meta charset="UTF-8">

<强> PHP

对于json,您可以使用header的{​​{1}}函数,如此

php

为了防止丢失字符串中的任何字符,您可以使用下面的代码

         header('content-type: application/json; charset=utf-8');