2014-12-04 71 views
1

出於安全原因,我想添加一個函數,通過使用下面的代碼將字符串轉換爲安全格式。在正常的英文字符,它工作正常,但是當我使用阿姆哈拉語字符,如ከበደ我得到不同的字符串像ከበደ,我該怎麼辦。php htmlentities corrupt 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; 
    } 

回答

2

第一件事,第一,你有你的文件

HTML

只需添加以下代碼放在HTML的<head>元素提供charset

  <meta charset="UTF-8"> 

PHP

爲JSON,您可以使用的phpheader功能,像這樣

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

爲了從字符串丟失任何字符,你可以使用下面

 function safestring($string){ 
      $string = trim($string); 
      $string = str_replace("<", "&lt;", $string); 
      $string = str_replace(">", "&gt;", $string); 
      $string = mysql_real_escape_string($string); 
      return $string; 
     } 
+0

代碼爲我工作,以預防,謝謝! :) – sami 2014-12-04 18:09:00