Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

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