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, 5127 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 ...

Neue Wissensbeiträge
Rechtliche Fragen

Heiseshow, live ab 12 Uhr: Steht die Vorratsdatenspeicherung vor dem Aus?

Tipp von sabines zum Thema Rechtliche Fragen ...

Outlook & Mail

Outlook Probleme nach Juni Updates - KB3203467 ist Schuld

(1)

Information von Deepsys zum Thema Outlook & Mail ...

Microsoft Office

Windows 7, Office 2016 RTM und Updates ohne WSUS

Tipp von chgorges zum Thema Microsoft Office ...

E-Mail

Thunderbird 52 hat Druckprobleme

(3)

Tipp von magicteddy zum Thema E-Mail ...

Heiß diskutierte Inhalte
Server-Hardware
Einem Stromausfall entgegen wirken (28)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

Humor (lol)
Aktuell keine IT Probleme (22)

Frage von lordofremixes zum Thema Humor (lol) ...

Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...