2 Replies Latest reply on Mar 5, 2007 12:43 AM by AlekTan

    XML php mysql greek charachers

    AlekTan
      Hi,
      I have problem with greek charachers.
      Flash call php.
      Php take data from mysql and print xml that read flash.
      Mysql, xml, php are utf-8 but greek characters can't be displayed.
      This work fine if I write greek in php but if php take data from mysql there is a problem.
      I also put embeded ( Greek 674 glyps) - no solution.

      ----------------------------------------
      My scipts are:

      php

      <?php header ('Content-type: text/html; charset=utf-8');
      include("conn.php");
      if (!empty($HTTP_GET_VARS['categ'])) {
      $categ=$HTTP_GET_VARS['categ'];
      } else {
      $categ=1;
      }

      if (!empty($HTTP_GET_VARS['lang'])) {
      $lang=$HTTP_GET_VARS['lang'];
      } else {
      $lang=1;
      }
      $xml_output = "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\" ?>\n";

      $xml_output .= "<images>\n";

      $result = mysql_query("Select * From tbl_flash_images WHERE categ_for=".$categ." ORDER BY order_flash");
      while($row = mysql_fetch_array($result, MYSQL_BOTH)) {
      if ($lang==0) {
      $strTEXT=$row['title_flash'];
      } else {
      $strTEXT=$row['title_flash_en'];
      }

      $xml_output .= "<pic>\n";
      $xml_output .= "<image>dyn/flash/".$row['img_subcateg']."</image>\n";
      $xml_output .= "<caption>".$strTEXT."</caption>\n";
      $xml_output .= "</pic>\n";

      } //close while rows


      $xml_output .= "</images>";

      echo $xml_output; ?>

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

      My actionscript is:

      system.useCodepage = 1;
      function loadXML(loaded) {
      if (loaded) {
      xmlNode = this.firstChild;
      image = [];
      description = [];
      total = xmlNode.childNodes.length;
      for (i=0; i<total; i++) {
      image = xmlNode.childNodes.childNodes[0].firstChild.nodeValue;
      description = xmlNode.childNodes.childNodes[1].firstChild.nodeValue;
      }
      firstImage();
      } else {
      content = "file not loaded!";
      }
      }
      xmlData = new XML();
      xmlData.ignoreWhite = true;
      xmlData.onLoad = loadXML;
      xmlData.load("xml_pics.php?categ=2&lang=0");
      /////////////////////////////////////
      listen = new Object();
      listen.onKeyDown = function() {
      if (Key.getCode() == Key.LEFT) {
      prevImage();
      } else if (Key.getCode() == Key.RIGHT) {
      nextImage();
      }
      };
      Key.addListener(listen);
      previous_btn.onRelease = function() {
      prevImage();
      };
      next_btn.onRelease = function() {
      nextImage();
      };
      /////////////////////////////////////
      p = 0;
      this.onEnterFrame = function() {
      filesize = picture.getBytesTotal();
      loaded = picture.getBytesLoaded();
      preloader._visible = true;
      if (loaded != filesize) {
      preloader.preload_bar._xscale = 100*loaded/filesize;
      } else {
      preloader._visible = false;
      if (picture._alpha<100) {
      picture._alpha += 10;
      }
      }
      };
      function nextImage() {
      if (p<(total-1)) {
      p++;
      if (loaded == filesize) {
      picture._alpha = 0;
      picture.loadMovie(image[p], 1);
      desc_txt.text = description[p];
      picture_num();
      }
      }
      }
      function prevImage() {
      if (p>0) {
      p--;
      picture._alpha = 0;
      picture.loadMovie(image[p], 1);
      desc_txt.text = description[p];
      picture_num();
      }
      }
      function firstImage() {
      if (loaded == filesize) {
      picture._alpha = 0;
      picture.loadMovie(image[0], 1);
      desc_txt.text = description[0];
      picture_num();
      }
      }
      function picture_num() {
      current_pos = p+1;
      pos_txt.text = current_pos+" / "+total;
      }

      Thanks