Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][XLS] Kodowanie podczas importu danych z pliku xls do bazy poprzez php
Forum PHP.pl > Forum > Przedszkole
lkow77
Witam mam taki problem.
Mam napisany skrypt do importu danych do serwisu. Działa to następująco.
Z serwisu jest pobierany plik xls z nagłówkami, a następnie można go obrobić (dodać dane) i również poprzez serwis plik jest uploadowany z dodanymi danymi. NIestety excel nie ma możliwości zmiany kodowania z cp1250 na utf-8 w którym to kodowaniu jest serwis i baza.
Moje pytanie - jak wymusić zmianę kodowania w pliku pobieranym do serwisu tak, aby pobierane dane zmieniły się na zapisane w UTF-8?
Pojęcia nie mam jak to zrobić ponieważ nie wiem w którym momencie umiescic funkcję php iconv lub mb.
Może znajdzie się ktoś kto pomoże? Może istnieje jakieś inne rozwiązanie przekodowania plików w locie?
erix
Bez kodu niewiele się da...
lkow77
Mam taki kwiatek teraz, potrzebuje umiescic warunek, ze podczas kopiowania pliku xls z temp do katalogu skonwertuje mi kodowanie z cp1250 do utf-8

kod wyglada tak:

  1. <?php
  2. if ($section == 'batch_lister')
  3.  {
  4.    
  5.     $saveAuctions = 0;
  6.     $fileUpload = 0;
  7.      
  8.   if ($_POST['form_download_batch_lister'])
  9.   {
  10.      
  11.      $item_details = $_POST;
  12.      header('location:xls_auction_template.php?category_id='.$item_details['category_id']);
  13.   }
  14.  
  15.   if ($_POST['form_upload_batch'] || $_POST['form_submit_batch']) {
  16.           define ('FRMCHK_ITEM', 1);
  17.     (int) $item_post = 1;
  18.                    $fv = new formchecker;
  19.  
  20.     if ($user_details['shop_active'])
  21.      {
  22.       $fv->field_empty($_FILES['batch_file']['name'], MSG_BATCH_EMPTY_ERROR);
  23.      }
  24.        if ($_FILES['batch_file']['name']!="") {
  25.          $filename1 = $_FILES['batch_file']['name'];
  26.          $ext1 = split(".",$filename1);
  27.        $ext2 = end($ext1);
  28.        if ($ext2=="xls") {
  29.               $upfile = copy($_FILES['batch_file']['tmp_name'],"uplimg/excel_".$session->value('user_id')."_".$filename1);
  30.            } else {
  31.                $fv->error_list[] = array('value' => $filename1, 'msg' => MSG_BATCH_EXCEL_ERROR);    
  32.            }  
  33.        } elseif (!empty($_POST['filename1'])) {
  34.         $filename1 = $_POST['filename1'];
  35.     }
  36.     if ($fv->is_error())
  37.     {
  38.      $template->set('display_formcheck_errors', $fv->display_errors());
  39.     } else {
  40.         $fileUpload =1;
  41.         $filepath = "uplimg/excel_".$session->value('user_id')."_".$filename1;
  42. ?>


edit// błąd w kodzie :-)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.