ottscho
Goto Top

Fopen und Umlaute

Hi,

ich importiere mit einem PHP Script Datensätze in ein Onlineshop.

Die original Daten stehen in einer CSV mit Seminkolon getrennt und können, wenn ich diese in einem Test-Editor lese im Klartext gelesen werden.
Hier werden alle Sonderzeiche korret dargestellt. Sogar 8½ etc.

Öffne ich die Datei z.B. im Excel, so sieht hier auch noch alles super aus.

Lese ich aber die Datei mit fopen ein, so habe ich in den Variablen z.B. Statt "Schnürer Comfort" dies "Schnürer Comfort" und statt.

Was mache ich falsch, bzw. wie kann ich den Fehler korrigieren?

Hier ein auszug aus dem Code:

$row = 1; // Anzahl der Arrays
			$handle = fopen ("transfer/Exportwebshop.csv","r"); // Datei zum Lesen öffnen  
			// Die erste Zeile mit den Spaltennamen auslesen
			$data = fgetcsv ($handle, 100000, ";");  
			if(is_array($data)) {
			   foreach($data AS $cellNr => $cellName) {
				   $cellNamesArray[$cellNr] = $cellName;
			   }
			}
			$return=false;		
			while ( ($data = fgetcsv ($handle, 100000, ";")) !== FALSE ) { // Daten werden aus der Datei  
				$num = count ($data); // Felder im Array $data
				//var_dump('row: '.$row); 
				//var_dump('offset: '.$offset); 
				//var_dump('step: '.$step); 
				
				if ($row <= $offset) {
					$row++; // Anzahl der Arrays wird
					continue;
				}
				if ($row > $offset+$step) {	

					$count = 0;
					for ($c=0; $c < $num; $c++) { // FOR-Schleife, um Felder des Arrays auszugeben
						$feld[$cellNamesArray[$c]] = $data[$c];				
						$count++;	
					}

					if ( $feld['shop_nr'] == 1) {  
						self::$row = $row;
						$return=true;
						break;
					}
				}
				$row++; // Anzahl der Arrays wird
				
				$count = 0;
				for ($c=0; $c < $num; $c++) { // FOR-Schleife, um Felder des Arrays auszugeben
					$feld[$cellNamesArray[$c]] = $data[$c];				
					$count++;	
				}
				
				
				var_dump($feld);
				exit;
}


Vielen Dank,

Grüße
Ottscho

Content-Key: 180036

Url: https://administrator.de/contentid/180036

Printed on: April 23, 2024 at 18:04 o'clock

Member: ottscho
ottscho Feb 04, 2012 at 08:18:08 (UTC)
Goto Top
konnte es lösen.

utf8_decode()
Member: nxclass
nxclass Feb 06, 2012 at 22:34:13 (UTC)
Goto Top
Also hast Du nur eine UTF-8 codierte CSV Datei eingelesen und die Daten ISO codiert ausgegeben (bzw. anzeigen lassen)

Evtl. hätte auch schon ein
header( 'Content-Type: text/html; charset=UTF-8' );  
am Anfang des Scripts gereicht.