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, 5103 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
Batch & Shell
Batch - Umlaute usw (4)

Frage von Xaero1982 zum Thema Batch & Shell ...

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

Frage von staybb zum Thema Exchange Server ...

Linux
gelöst Umlaute zählen - Bash-Script (5)

Frage von plutowitsch zum Thema Linux ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

LAN, WAN, Wireless
Rogue Access Point (20)

Frage von Axel90 zum Thema LAN, WAN, Wireless ...

Webbrowser
Windows 7 unbeliebte Internetseite sperren (13)

Frage von Daoudi1973 zum Thema Webbrowser ...

E-Mail
Fake E-Mail in Outlook für Demonstartionszwecke (12)

Frage von sascha382 zum Thema E-Mail ...