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, 5007 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
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 ...

Heiß diskutierte Inhalte
Erkennung und -Abwehr
Virenschutz - Meinungen (24)

Frage von honeybee zum Thema Erkennung und -Abwehr ...

Windows 10
Welches OS für Firmengeräte? (17)

Frage von MarkusVH zum Thema Windows 10 ...

Server-Hardware
Erfahrungswerte Hardwaresupport physikalische Server (14)

Frage von Devilx zum Thema Server-Hardware ...

Exchange Server
SBS2011: POP3-Connector 10 MB Grenze Email Benachrichtigung (14)

Frage von bogi1102 zum Thema Exchange Server ...