Nico R.: Gelöst: Möglichkeit für Import ANSI-codierte CSV in Chrome/Firefox

Beitrag lesen

Hallo zusammen,

Wie könnte ichs hinbekommen, dass - egal welcher Browser zum Einsatz kommt - Bäcker mit Bäcker verglichen wird?

ich habs hinbekommen. Auch wenn die Lösung möglicherweise nicht optimal ist, will ich sie der Vollständigkeit halber nicht vorenthalten:

...

$agent = $_SERVER['HTTP_USER_AGENT'];

if(str_contains($agent, "Firefox")) 
$db = iconv('UTF-8', 'MS-ANSI', $db);				

if(str_contains($agent, "Chrome") OR str_contains($agent, "Safari"))			
$csv = iconv('MS-ANSI', 'UTF-8', $csv);	

...

Wie schon in der Konsolenausgabe/Netzwerkanalyse zu sehen war, decodieren FF und Chrome offenbar unterschiedlich und verlangen entweder eine Konvertierung in die eine oder die andere Richtung. Keine Ahnung, ob das nur in meinem speziellen Fall so ist. In jedem Fall arbeitet die Vergleichsfunktion jetzt in beiden Browsern korrekt, hier die Ausgabe für den FF:

db_array

array(2) {
  [0]=>
  string(8) "Schuster"
  [1]=>
  string(7) "Bäcker"
}

csv_array

array(3) {
  [0]=>
  array(1) {
    [0]=>
    string(6) "Bäcker"
  }
  [1]=>
  array(1) {
    [0]=>
    string(9) "Schlosser"
  }
  [2]=>
  bool(false)
}

Schuster / Bäcker = 42.857142857143
Bäcker / Bäcker = 100
Schuster / Schlosser = 70.588235294118
Bäcker / Schlosser = 40

https://fsv-optik.de/tests/csv_upload.html

Schöne Grüße

Nico