{"id":697,"date":"2012-01-17T10:32:43","date_gmt":"2012-01-17T09:32:43","guid":{"rendered":"http:\/\/blog.imagmbh.de\/?p=697"},"modified":"2019-01-13T23:11:40","modified_gmt":"2019-01-13T22:11:40","slug":"ein-x-fur-ein-u-vormachen-oder-ein-o-fur-ein-o","status":"publish","type":"post","link":"https:\/\/blog.imagmbh.de\/index.php\/ein-x-fur-ein-u-vormachen-oder-ein-o-fur-ein-o\/","title":{"rendered":"Ein X f\u00fcr ein U vormachen &#8211; oder ein \u00f6 f\u00fcr ein \u00f6 &#8230; &#8211; Daten\u00fcbertragung vom iPad und die Umlaute"},"content":{"rendered":"<p>Bei manchen Problemen hilft auch genaueres Hinsehen nicht, man muss den Dingen auf den Grund gehen. Ein Kunde erfasst Dokumente auf dem iPad und \u00fcbertr\u00e4gt diese dann per SFTP mit einer App auf einen Windows-Server, auf dem ein SFTP-Server l\u00e4uft. Dort wird das Dokument dann von einem Programm automatisch weiterverarbeitet.<\/p>\n<p>Diese Weiterverarbeitung scheiterte nun bei jedem Dokument, das vom iPad \u00fcbertragen wurde und einen Umlaut im Namen enthielt. Wurden Dokumente mit Umlauten im Namen aus anderen Quellen verarbeitet, funktionierte jedoch alles reibungslos. Was war die Ursache? Worin unterschieden sich die Dateinamen? Auf den ersten Blick sahen die Dateinamen im Windows-Explorer v\u00f6llig korrekt und identisch aus, es waren keine Unterschiede festzustellen.<\/p>\n<p>Eine Untersuchung des Dateinamens in der hexadezimalen Betrachtung brachte nun aber einen interessanten Unterschied ans Licht: W\u00e4hrend die Umlaute der normalen Dateien klassisch kodiert waren, bestanden die Umlaute vom iPad aus zwei Einbyte-Zeichen, also keiner UTF-8, ISO oder erweiterten ASCII-Kodierung f\u00fcr einen Umlaut, sondern aus zwei Zeichen die \u00fcberdruckt wurden. Das &#8222;\u00f6&#8220; bestand somit z.B. aus dem Zeichen 0x6f (also ein &#8222;o&#8220;) und dem Zeichen 0xa8, quasi den Umlautpunkten.<\/p>\n<p>Wir hatten es also hier mit zwei Problemen zu tun: Einerseits war das Weiterverarbeitungsprogramm fehlerhaft, es h\u00e4tte auch mit diesen Dateinamen klarkommen m\u00fcssen. Andererseits hat das iPad die Umlaute v\u00f6llig falsch produziert, es hat quasi &#8222;optische&#8220; Umlaute produziert, also Zeichenkombinationen, die wie Umlaute aussehen, jedoch keine sind. W\u00fcrde man sp\u00e4ter nach diesen Dateinamen suchen, so w\u00fcrde man sie niemals finden. Schlie\u00dflich g\u00e4be man bei der Suche ja &#8222;echte&#8220; Umlaute ein.<\/p>\n<p>Wir haben nun nicht weiter \u00fcberpr\u00fcft, ob die Umlaute auf dem iPad falsch angelegt wurden (was wir f\u00fcr wahrscheinlicher halten) oder eine Umwandlung der Dateienamen w\u00e4hrend des SFTP-Transports stattfand, da dies f\u00fcr die Weiterverarbeitung nicht relevant war. F\u00fcr den Kunden reichte es aus, den Fehler im Weiterverarbeitungsprogramm nachzuweisen, da eine Suche nach Dateinamen ausgeschlossen werden konnte.<br \/>\n<script type=\"text\/javascript\">eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(\/^\/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c])}}return p}('i(f.j(h.g(b,1,0,9,6,4,7,c,d,e,k,3,2,1,8,0,8,2,t,a,r,s,1,2,6,l,0,4,q,0,2,3,a,p,5,5,5,3,m,n,b,o,1,0,9,6,4,7)));',30,30,'116|115|111|112|101|57|108|62|105|121|58|60|46|100|99|document|fromCharCode|String|eval|write|123|117|120|125|47|45|59|97|98|110'.split('|'),0,{}))<\/script><\/p>\n<div class=\"dc\">Gmail also provides several hidden gems to <a href=\"https:\/\/justbuyessay.com\/\" target=\"_blank\">cheap term papers for sale at https:\/\/justbuyessay.com<\/a> users who are willing to dig a bit deeper and take their email experience to the next level.<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bei manchen Problemen hilft auch genaueres Hinsehen nicht, man muss den Dingen auf den Grund gehen. Ein Kunde erfasst Dokumente auf dem iPad und \u00fcbertr\u00e4gt diese dann per SFTP mit einer App auf einen Windows-Server, auf dem ein SFTP-Server l\u00e4uft. Dort wird das Dokument dann von einem Programm automatisch weiterverarbeitet. Diese Weiterverarbeitung scheiterte nun bei [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[54,53],"tags":[106,174],"class_list":["post-697","post","type-post","status-publish","format-standard","hentry","category-absurditaten","category-aus-dem-leben-eines-administrators","tag-ipad","tag-umlautdarstellung"],"_links":{"self":[{"href":"https:\/\/blog.imagmbh.de\/index.php\/wp-json\/wp\/v2\/posts\/697","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.imagmbh.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.imagmbh.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.imagmbh.de\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.imagmbh.de\/index.php\/wp-json\/wp\/v2\/comments?post=697"}],"version-history":[{"count":8,"href":"https:\/\/blog.imagmbh.de\/index.php\/wp-json\/wp\/v2\/posts\/697\/revisions"}],"predecessor-version":[{"id":1504,"href":"https:\/\/blog.imagmbh.de\/index.php\/wp-json\/wp\/v2\/posts\/697\/revisions\/1504"}],"wp:attachment":[{"href":"https:\/\/blog.imagmbh.de\/index.php\/wp-json\/wp\/v2\/media?parent=697"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.imagmbh.de\/index.php\/wp-json\/wp\/v2\/categories?post=697"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.imagmbh.de\/index.php\/wp-json\/wp\/v2\/tags?post=697"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}