Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Fopen und Umlaute

Frage Entwicklung PHP

Mitglied: ottscho

ottscho (Level 2) - Jetzt verbinden

04.02.2012 um 08:53 Uhr, 5162 Aufrufe, 2 Kommentare

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:

01.
 
02.
$row = 1; // Anzahl der Arrays 
03.
			$handle = fopen ("transfer/Exportwebshop.csv","r"); // Datei zum Lesen öffnen 
04.
			// Die erste Zeile mit den Spaltennamen auslesen 
05.
			$data = fgetcsv ($handle, 100000, ";"); 
06.
			if(is_array($data)) { 
07.
			   foreach($data AS $cellNr => $cellName) { 
08.
				   $cellNamesArray[$cellNr] = $cellName; 
09.
10.
11.
			$return=false;		 
12.
			while ( ($data = fgetcsv ($handle, 100000, ";")) !== FALSE ) { // Daten werden aus der Datei 
13.
				$num = count ($data); // Felder im Array $data 
14.
				//var_dump('row: '.$row); 
15.
				//var_dump('offset: '.$offset); 
16.
				//var_dump('step: '.$step); 
17.
				 
18.
				if ($row <= $offset) { 
19.
					$row++; // Anzahl der Arrays wird 
20.
					continue; 
21.
22.
				if ($row > $offset+$step) {	 
23.
 
24.
					$count = 0; 
25.
					for ($c=0; $c < $num; $c++) { // FOR-Schleife, um Felder des Arrays auszugeben 
26.
						$feld[$cellNamesArray[$c]] = $data[$c];				 
27.
						$count++;	 
28.
29.
 
30.
					if ( $feld['shop_nr'] == 1) { 
31.
						self::$row = $row; 
32.
						$return=true; 
33.
						break; 
34.
35.
36.
				$row++; // Anzahl der Arrays wird 
37.
				 
38.
				$count = 0; 
39.
				for ($c=0; $c < $num; $c++) { // FOR-Schleife, um Felder des Arrays auszugeben 
40.
					$feld[$cellNamesArray[$c]] = $data[$c];				 
41.
					$count++;	 
42.
43.
				 
44.
				 
45.
				var_dump($feld); 
46.
				exit; 
47.
48.
 

Vielen Dank,

Grüße
Ottscho
Mitglied: ottscho
04.02.2012 um 09:18 Uhr
konnte es lösen.

utf8_decode()
Bitte warten ..
Mitglied: nxclass
06.02.2012 um 23:34 Uhr
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
01.
header( 'Content-Type: text/html; charset=UTF-8' );
am Anfang des Scripts gereicht.
Bitte warten ..
Ähnliche Inhalte
Linux
gelöst Umlaute zählen - Bash-Script (5)

Frage von plutowitsch zum Thema Linux ...

Exchange Server
gelöst Exchange 2013 - Abwesenheitsnachricht Umlaute werden nicht dargestellt (3)

Frage von staybb zum Thema Exchange Server ...

PHP
gelöst PHP 7 und LDAP mit Umlauten (3)

Frage von wiesi200 zum Thema PHP ...

Batch & Shell
Batch - Umlaute usw (4)

Frage von Xaero1982 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Exchange Server

Mittels Batch-Script Exchange-Logs sammeln und archivieren

Anleitung von beidermachtvongreyscull zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Verschlüsselung & Zertifikate
SSL Zertifikat für HTTPS (29)

Frage von Hendrik2586 zum Thema Verschlüsselung & Zertifikate ...

Grafikkarten & Monitore
24" oder 27" mit Full HD oder doch mehr Auflösung? (21)

Frage von brutzler zum Thema Grafikkarten & Monitore ...

Netzwerke
Ip Adressenkonflikt bei Großfamilie (12)

Frage von gunter zum Thema Netzwerke ...