/
  • عدم ارسال کاراکتر فارسی از طریق php

  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی عدم ارسال کاراکتر فارسی از طریق php
    نویسنده پیام
    m_nouri آفلاین
    عضو جدید
    **

    ارسال‌ها: 1
    تاریخ عضویت: ۱۳۹۵ اسفند ۲۶
    اعتبار: 0
    تشکرها : 0
    ( 0 تشکر در 0 ارسال )
    ارسال: #1
    عدم ارسال کاراکتر فارسی از طریق php
    من یک تکه کدی رو نوشتم که اطلاعات رو میگیره و در دیتابیس ذخیره میکنه (من در PHP خیلی خیلی مبتدی هستم، این کد رو هم از اینترنت برداشتم و کنی تغییرات دادم)، وقتی اطلاعات رو از طریق postman ارسال میکنم در دیتابیس با کاراکتر های تبخس حلحییح ذخیره میشه!
    اطلاعات رو از HTML ارسال نخواهم کرد و توسط دستگاه دیگری ارسال میکنم پس نمیتونم به کدهای HTML یکسری meta ها رو اضافه کنم.
    درواقع میخوام خود کدهای php این امکان رو داشته باشن که فارسی هم ارسال کنن.
    Collation مربوط به فیلد مورد نظر هم utf8_persian_ci قرار دادم ولی باز فرقی نمیکنه و همونطوری ذخیره میکنه!
    کد های پی اچ پی من .
    DBOperations :
    کد PHP:
    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:
    <?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:
    <?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 ";
     



    چطور میتونم این مشکل رو برطرف کنم؟
    ممنون
    (آخرین ویرایش در این ارسال: ۱۳۹۵ اسفند ۲۶ ۰۳:۲۵ عصر، توسط Y.P.Y.)
    ۱۳۹۵ اسفند ۲۶ ۰۲:۳۳ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    Maysam.m آفلاین
    میثم محمودی
    ****

    ارسال‌ها: 317
    تاریخ عضویت: ۱۳۸۹ مهر ۱۷
    اعتبار: 11
    تشکرها : 245
    ( 188 تشکر در 144 ارسال )
    ارسال: #2
    RE: عدم ارسال کاراکتر فارسی از طریق php
    فایلت رو به صورت utf-8 ذخیره کردی؟
    __________________________________________________________________________
    میثم محمودی | انجمن کد ایگنایتر فارسی
    --------------------------
    هرگز نمي توان با آدمهاي کوچک کارهاي بزرگ انجام داد
    ۱۳۹۵ اسفند ۲۶ ۰۶:۵۵ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS