2014-12-04 2 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

Первое первых, сначала вы должны предоставить charset для документа

HTML

просто добавьте следующий код в <head> элемент вашего HTML

  <meta charset="UTF-8"> 

PHP

для JSON можно использовать header функцию php как так

  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

Смежные вопросы