iconv UTF-8 ISO-8859-7 ISO-8859-1

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Original geschrieben von Orestes
    aus
    INSERT INTO 'tbl_xxxx' ('feld_name') VALUES ('καλιμεέρα');
    wird dann: ???????????
    Bei mir nicht - mit Kollation bspw. utf8_general_ci sieht das genau so aus, wie's eingegeben wurde ...
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #17
      Es funktioniert!!!!

      Also nach längerem rumstochern hab ich die Lösung:

      1. alte Tabelle aufmachen und daten auslesen
      PHP-Code:
      $conn mysql_connect ($server$user$pass);

      $table "tbl_client";
      $result mysql_query ("SELECT * FROM '$table'");
      if (
      $result) {
          while (
      $row mysql_fetch_array ($resultMYSQL_ASSOC)) {
              
      $arr[] = $row;
          }
          
      mysql_free_result ($result);

      2. daten aufbereiten
      PHP-Code:
      for ($i 0$i count($arr); $i++) {
          foreach (
      $arr[$i] as $key => $val) {
              if (
      preg_match("/_gr/"$key)) $arr[$i][$key] = mb_convert_encoding($arr[$i][$key], "UTF-8""iso-8859-7");
              if (
      preg_match("/_de/"$key)) $arr[$i][$key] = mb_convert_encoding($arr[$i][$key], "UTF-8""iso-8859-1");
              if (
      preg_match("/_en/"$key)) $arr[$i][$key] = mb_convert_encoding($arr[$i][$key], "UTF-8""iso-8859-1");
              if (
      preg_match("/_fr/"$key)) $arr[$i][$key] = mb_convert_encoding($arr[$i][$key], "UTF-8""iso-8859-1");
          }

      3. datenbank auf UTF-8 umstellen
      PHP-Code:
      mysql_query("SET CHARACTER SET utf8"$conn); 
      4. sqlstring generieren und in NEUE TABELLE reinschreiben
      PHP-Code:
      $table "tbl_client_utf8";

      for (
      $i 0$i count($arr); $i++) {
          foreach (
      $arr[$i] as $key => $value) {
              if (
      $value <> "NULL"$sqlstr .= $key.", ";
          }
          if (
      strLen ($sqlstr) == 0) return false;
          
      $sqlstr "INSERT INTO $table (".$sqlstr.") VALUES (";

          foreach (
      $array as $key => $value) {
              if (
      $value <> "NULL") {
                  if (
      fldtypenumeric ($table$key)) {
                      
      $sqlstr .= $value.", ";
                  } else {
                      
      $sqlstr .= "_utf8'".addslashes ($value)."', ";
                  }
              }
          }
          
      $sqlstr str_replace (", )"")"$sqlstr.")");
          
      mysql_query ($sqlstr);


      Auslesen funtioniert dann genauso:
      PHP-Code:
      $table "tbl_client_utf8";

      $conn mysql_connect ($server$user$pass);
      mysql_query("SET CHARACTER SET utf8"$conn);

      $result mysql_query ("SELECT * FROM '$table'");
      if (
      $result) {
          while (
      $row mysql_fetch_array ($resultMYSQL_ASSOC)) {
              
      $arr[] = $row;
          }
          
      mysql_free_result ($result);

      und dann ab zum browser:
      PHP-Code:
      $charset "UTF-8";

      echo 
      "<HEAD>\n";
      echo 
      "<META http-equiv=\"Content-Type\" content=\"text/html; charset=$charset\">\n";
      echo 
      "</HEAD>\n";

      for (
      $i 0$i count($arr); $i++) {
          echo 
      $i." - ".$arr[$i]["subdomain"]."<br>\n";
          echo 
      $arr[$i]["name_gr"]."<br>\n";
          echo 
      $arr[$i]["firm_gr"]."<br>\n";
          echo 
      $arr[$i]["detail_gr"]."<br>\n";
          echo 
      "<br><br>\n";


      Orestis
      Zuletzt geändert von Orestes; 26.07.2006, 10:14.
      Risc is part of the game if you want to sit in the captain´s chair.

      Kommentar

      Lädt...
      X