Expand my Community achievements bar.

PHP and Mysql Update Chinese Problem

Avatar

Level 1

I have problem on use HTTPService to send flex data with Chinese characters to PHP server page and update Mysql database to get ?? result. I tested it just send data to PHP and return data immediately from PHP to flex UI is correct. I think seems the problem narrow download to PHP and Mysql. Could anyone can help me advise a solution. Thanks you.

--------------------------------------------------------------------------------------------------------------

Below info is my Table Structure:

CREATE TABLE chrm_leave_tran (
  roid int(11) NOT NULL AUTO_INCREMENT,
  userid varchar(30) NOT NULL,
  leave_type varchar(5) NOT NULL,
  start_date date NOT NULL,
  end_date date NOT NULL,
  remarks varchar(255) DEFAULT NULL,
  PRIMARY KEY (roid)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Notes: suppose the "leave_type" column display Chinese characters.

PHP Server Page:

<?php

    $userid = $_POST['uid'];
    $leavetype = $_POST['ltype'];
    $sdate = $_POST['sdate'];
    $edate = $_POST['edate'];
    $ssection = $_POST['ssess'];
    $esection = $_POST['esess'];
    $remark = $_POST['rmk'];

     $server = 'localhost:8889';
     $mysql_user = 'root';
     $mysql_pwd = 'root';
     $db = 'chrms';

     $result = mysql_connect($server, $mysql_user, $mysql_pwd);

     if (!$result) {
         die ('Error connect mysql db'.mysql_error());
         exit();
     }

     if (!mysql_select_db($db)) {
         die('Select mysql db error'.mysql_error());
         exit();
     }

     $sql = mysql_query("SET NAMES = utf8");
     $sql = mysql_query("SET CHARACTER_SET_CLIENT = utf8");
     $sql = mysql_query("SET CHARACTER_SET_RESULTS = utf8");

     $sql = mysql_query("INSERT INTO chrm_leave_tran (userid,leave_type,start_date,end_date)
                                      VALUES('$userid', '$leavetype', '$sdate', '$edate')") or die (mysql_error());


     echo "Completed...".$leavetype;

?>

ActionScript 3

protected function addLeaveRecord(uid:int):void
{
    var remoteData:HTTPService = new HTTPService();
    var param:Object = new Object();
    var tmpObj:Object = new Object();
    var df:DateFormatter = new DateFormatter();
    df.formatString = defaultDateFormat;
   
   
    remoteData.url = "http://localhost:8888/chrms/addleave.php";
    remoteData.contentType = "application/x-www-form-urlencoded";
    remoteData.method = "POST";
    remoteData.resultFormat = "text";
    remoteData.addEventListener(ResultEvent.RESULT, resultHandler);
    remoteData.addEventListener(FaultEvent.FAULT, faultHandler);
   
    for each (tmpObj in DGArraySource)
    {
        param.uid = uid.toString();
        param.ltype = tmpObj.leaveType;

        param.sdate = df.format(tmpObj.startLeave);
        param.edate = df.format(tmpObj.endLeave);
        param.ssess = tmpObj.startSection;
        param.esess = tmpObj.endSection;
        param.rmk = tmpObj.description;
        remoteData.send(param);
    }
}

private function resultHandler(event:ResultEvent):void
{
    Alert.show(event.result.toString());
}

private function faultHandler(event:FaultEvent):void
{
    Alert.show(event.message.toString());
}

--------------------------------------------------------------------------------------------------------------

Thank you.

0 Replies