• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
عدم ارسال کاراکتر فارسی از طریق php
#1
من یک تکه کدی رو نوشتم که اطلاعات رو میگیره و در دیتابیس ذخیره میکنه (من در PHP خیلی خیلی مبتدی هستم، این کد رو هم از اینترنت برداشتم و کنی تغییرات دادم)، وقتی اطلاعات رو از طریق postman ارسال میکنم در دیتابیس با کاراکتر های تبخس حلحییح ذخیره میشه!
اطلاعات رو از HTML ارسال نخواهم کرد و توسط دستگاه دیگری ارسال میکنم پس نمیتونم به کدهای HTML یکسری meta ها رو اضافه کنم.
درواقع میخوام خود کدهای php این امکان رو داشته باشن که فارسی هم ارسال کنن.
Collation مربوط به فیلد مورد نظر هم utf8_persian_ci قرار دادم ولی باز فرقی نمیکنه و همونطوری ذخیره میکنه!
کد های پی اچ پی من .
DBOperations :
کد پی‌اچ‌پی:
class DBOperations{
 
    private 
$host 'localhost';
    private 
$user 'uygkTsg';
    private 
$db 'ukb7sad';
    private 
$pass 'wsdjkg2%s6';
    private 
$conn;
    
    public function 
__construct() {
        
$this -> conn = new PDO("mysql:host=".$this -> host.";dbname=".$this -> db$this -> user$this -> pass); 
    }
    
    public function 
insertData($comment_post_ID$comment_author$comment_author_email$comment_content){
        
        
$comment_author_url "";
        
$comment_author_IP =0;
        
$comment_karma 0;
        
$comment_approved 0;
        
$comment_agent "";
        
$comment_type "";
        
$comment_parent 0;
        
$user_id 0;
        
        
$sql 'INSERT INTO aPjm0O_comments SET comment_post_ID =:comment_post_ID, comment_author =:comment_author,
                comment_author_email =:comment_author_email, comment_author_url =:comment_author_url,
                comment_author_IP =:comment_author_IP, comment_date = NOW(), comment_date_gmt = NOW(),
                comment_content =:comment_content, comment_karma =:comment_karma, comment_approved =:comment_approved,
                comment_agent =:comment_agent, comment_type =:comment_type, comment_parent =:comment_parent,
                user_id =:user_id'
;
                
        
$query $this ->conn ->prepare($sql);
        
$query->execute(array('comment_post_ID' => $comment_post_ID'comment_author' => $comment_author
                              
'comment_author_email' => $comment_author_email'comment_author_url' => $comment_author_url,
                              
'comment_author_IP' => $comment_author_IP'comment_content' => $comment_content
                              
'comment_karma' => $comment_karma'comment_approved' => $comment_approved
                              
'comment_agent' => $comment_agent'comment_type' => $comment_type,
                              
'comment_parent' => $comment_parent'user_id' => $user_id));
                              
        if (
$query) {
            return 
true;
        } else {
            return 
false;
        }                      
    }


Functions :


کد پی‌اچ‌پی:
<?php 

require_once 'DBOperations.php';
 
class 
Functions{
 
    private 
$db;
 
    public function 
__construct() {
        
$this -> db = new DBOperations();
    }
    
    public function 
insertComment($comment_post_ID$comment_author$comment_author_email$comment_content) {
        
$db $this -> db;
        
        if (!empty(
$comment_content)) {
 
            
$result $db -> insertData($comment_post_ID$comment_author$comment_author_email$comment_content);
 
            if (
$result) {
                
$response["result"] = "success";
                
$response["message"] = "Submit comment";
                return 
json_encode($responseJSON_UNESCAPED_UNICODE);
 
            } else {
            
$response["result"] = "failure";
            
$response["message"] = "Not send message";
            return 
json_encode($responseJSON_UNESCAPED_UNICODE);
            }
            
        } else {
            return 
$this -> getMsgParamNotEmpty();
        }
    }
    
    public function 
getMsgParamNotEmpty(){
        
$response["result"] = "failure";
        
$response["message"] = "Not empty";
        return 
json_encode($responseJSON_UNESCAPED_UNICODE);
    }
    
    public function 
getMsgInvalidParam(){
        
$response["result"] = "failure";
        
$response["message"] = "Invalid fields";
        return 
json_encode($responseJSON_UNESCAPED_UNICODE);
    }


index:


کد پی‌اچ‌پی:
<?php
 
require_once 'Functions.php';
 
$fun = new Functions();
 
if (
$_SERVER['REQUEST_METHOD'] == 'POST'){

  
$data json_decode(file_get_contents("php://input"));
 
  if(isset(
$data -> operation)){
 
    
$operation $data -> operation;
 
   if(!empty(
$operation)){
 
      if(
$operation == 'sentComment'){
 
         if(isset(
$data -> comment ) && !empty($data -> comment) && isset($data -> comment -> comment_post_ID)
            && isset(
$data -> comment -> comment_author) && isset($data -> comment -> comment_author_email)
            && isset(
$data -> comment -> comment_content)){
 
            
$comment $data -> comment;
            
$comment_post_ID $comment -> comment_post_ID;
            
$comment_author $comment -> comment_author;
            
$comment_author_email $comment -> comment_author_email;
            
$comment_content $comment -> comment_content;

            echo 
$fun -> insertComment($comment_post_ID$comment_author$comment_author_email$comment_content);
 
         } else {
            echo 
$fun -> getMsgInvalidParam();
         }
      } else {
      }
   } else{
 
      echo 
$fun -> getMsgParamNotEmpty();
 
   }

}
} else if (
$_SERVER['REQUEST_METHOD'] == 'GET'){
 
  echo 
"Welcome to site ";
 



چطور میتونم این مشکل رو برطرف کنم؟
ممنون
  پاسخ
تشکر شده توسط :
#2
فایلت رو به صورت utf-8 ذخیره کردی؟
میثم محمودی | انجمن کد ایگنایتر فارسی
--------------------------
هرگز نمي توان با آدمهاي کوچک کارهاي بزرگ انجام داد
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان