Merkwürdiges "unsichtbares" Zeichen durch Copy & Paste

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Merkwürdiges "unsichtbares" Zeichen durch Copy & Paste

    Hallo,

    ich habe da ein kleines (ich lüge, mitlerweile ist es ein gewaltiges) Problem, dessen Ursache sich mir zwar mehr oder weniger erschließt, ich aber dennoch keine Ahnung habe, was ich dagegen tun kann.

    Alles fing vor ein paar Wochen an, als ich ein Script eines Kollegen bearbeitet habe und kurz darauf krank war. Als ich wiederkam erzählte er mir eine – zunächst völlig unverständliche – Geschichte. Ein Script, dass in einer Reihe von Editoren vollkommen in Ordnung aussah, warf einen Fehler. Parse Error. Das Script war nicht besonders lang. Irgendwann war ein if-Block als Ursache erkannt. Das gespenstische: Wenn der Kollege das "if" neu geschrieben hat, ging es. Hat er es Rückgänig gemacht, kam wieder der Fehler. Komisch. Stressbedingt nicht weiter verfolgt.

    Ein paar Tage später, selbes Phänomen (übrigens war ich auch mal wieder kurz davor hier um Hilfe zu bitten): ucwords geht nicht mehr. PHP kam mit der fadenscheinigen Ausrede, die Funktion "ucwords" gäbe es nicht. Wenn ich sie selbst definiert habe, mochte PHP das auch nicht, und sagte, ich darf die Funktion nicht nochmal definieren. Aha, also doch da was? Nach Stundenlangem hin und her dann –*zufällig –*das Problem entdeckt: Vor "ucwords" befand sich ein Zeichen, dass sowohl im Browser als auch in Eclipse (PDT) nicht dargestellt wurde. PHP hat das Zeichen zwar erkannt, konnte es aber auch nicht sichtbar machen. Auch ord() hat nichts ausgespuckt. Komisch. Mir fiel das Problem mit dem if-Block wieder ein.

    Und seitdem ist es wie verhext: Alle paar Stunden muss ich mich mit diesem Problem rumschlagen. Mitlerweile konnte ich den Herd auch mehr oder weniger einkreisen: Das Problem kann augenscheinlich immer nur dann auftreten, wenn ich Script stellen kopiere und wieder einfüge.

    Ich habe auch schon die Eclipse Version gewechselt, die PDT Version gewechselt. Kein Erfolg. Ich weiß ja nicht einmal, woher das Problem genau kommt. Ist es überhaupt ein Eclipse Problem? Ist es vielleicht ein Mac Problem? Hat jemand das auch schon mal erlebt?

    Beiwerk: Ich benutze in Projekten durchgehend UTF-8. Auf meinem Rechner läuft wie erwähnt OS X (voll geupdatet) mit Eclipse PDT (derzeit die 2.0.1 mit 3.4.1 Eclipse –*auch nur weil die einen Extrem nervigen Bug nicht hat).

    Ich hoffe ich finde hier Hilfe. Im Grunde weiß ich ja nicht mal genau wonach ich googlen soll. Alles was ich bisher ausprobiert habe, hat leider nicht zu irgend etwas brauchbarem geführt.

    Wer das Zeichen gerne mal hätte, dem kann ich es ja Morgen mal hier rein pasten, wenn es mir wieder unterkommt.
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

  • #2
    Ich hab sowas ähnliches auch öfters.
    Bei mir kommt es daher, dass ich mich beim tippen von "Sonderzeichen" (eigentlich Tokens wie z.B. eckige und runde Klammern) immer sehr auf der Tastatur verrenken muss (MacBook). Dabei passiert es, dass wenn ich vor oder hinter dem Sonderzeichen ein Leerzeichen tippe, ich zu schnell bin und noch andere Tasten gedrückt halte (Option, Command, ...) und dann irgendwelche unsichtbaren Zeichen eingebe (davon gibt es scheinbar sehr viele auf der Mac-Tastatur).
    Mir ist das bisher allerdings nur in NetBeans aufgefallen, also habe ich jetzt mit deiner Beschreibung die Kombination Mac + Java in Verdacht.
    hopka.net!

    Kommentar


    • #3
      Das Gefühl, dass ich eventuell versehentlich etwas eingebe, hatte ich auch schon öfter. Evtl. rührt es tatsächlich daher.

      Edit: Was mir grad noch einfällt. Delta Walker (ein Diff-Tool, das auch auf Eclipse basiert), erkennt dieses "kaputte" Zeichen!
      [FONT="Helvetica"]twitter.com/unset[/FONT]

      Shitstorm Podcast – Wöchentliches Auskotzen

      Kommentar


      • #4
        Was sagt denn ein Blick auf solche eine Stelle mit einem Hex-Editor, um welches Zeichen (bzw. -code) es sich handelt?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Ich muss gestehen, dass ich noch nicht mit einem solchen an die Sache gegangen bin. Werde ich Morgen direkt mal nachholen!
          [FONT="Helvetica"]twitter.com/unset[/FONT]

          Shitstorm Podcast – Wöchentliches Auskotzen

          Kommentar


          • #6
            Zitat von unset Beitrag anzeigen
            ...
            Und seitdem ist es wie verhext: Alle paar Stunden muss ich mich mit diesem Problem rumschlagen. Mitlerweile konnte ich den Herd auch mehr oder weniger einkreisen: Das Problem kann augenscheinlich immer nur dann auftreten, wenn ich Script stellen kopiere und wieder einfüge.

            Ich habe auch schon die Eclipse Version gewechselt, die PDT Version gewechselt. Kein Erfolg. Ich weiß ja nicht einmal, woher das Problem genau kommt. Ist es überhaupt ein Eclipse Problem? Ist es vielleicht ein Mac Problem? Hat jemand das auch schon mal erlebt?
            Schön, wenn man erfährt, dasss man nicht allein ist.
            Bei mir waren es vom PHP-Manual kopierte Quellcode-Teilstücke.
            Da kein Unterschied zum von Hand abgetippten Text sichtbar war, vermutete ich irgendwelche Whitespace-Zeichen (Tab oder Non-Breaking-Space). Ich war aber zu faul, das problematische Zeichen per Hex-Viewer genauer einzugrenzen.
            Zuletzt geändert von fireweasel; 03.07.2009, 00:07.
            Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

            Kommentar


            • #7
              Wenn es nur am Anfang von reinkopiertem Text steht, tippe ich auf ein BOM, das fälschlicherweise aus dem Clipboard mitkommt.

              Kommentar


              • #8
                Und hier ist das Zeichen: getFkRow('itemwidget_items_id')

                Zwischen dem Anführungszeichen und dem i von itemwidget_items_id

                Edit: Hex-Editor sagt, es wäre EF BB BF oder 0xBBEF. Ein BOM wäre aber doch EF BB EF oder irre ich da?
                Angehängte Dateien
                Zuletzt geändert von unset; 03.07.2009, 10:48.
                [FONT="Helvetica"]twitter.com/unset[/FONT]

                Shitstorm Podcast – Wöchentliches Auskotzen

                Kommentar


                • #9
                  Wikipedia sagt ganz klar: UTF-8 Bom --->> EF BB BF
                  Zum selber nachlesen: Byte Order Mark ? Wikipedia

                  Ist das die berühmte MAC User Mentalität?
                  Erst fragen, dann Hexeditor rausholen?
                  Und dann noch nichteinmal im INET suchen, wie so eine BOM aussieht?
                  hihihi

                  Und der Gute Tipp zum Schluß:
                  PHP kann (noch) nix mit der BOM anfangen. Es ist keine schlechte Idee diese in allen benutzten Editoren abzuschalten.
                  Zuletzt geändert von combie; 03.07.2009, 11:00.
                  Wir werden alle sterben

                  Kommentar


                  • #10
                    Ich habe von zu Hause aus gefragt. Da konnte ich das Problem nicht reproduzieren. Und jetzt bitte keinen Spacko OS Flamewar, da steht mir der Sinn wirklich nicht nach.
                    [FONT="Helvetica"]twitter.com/unset[/FONT]

                    Shitstorm Podcast – Wöchentliches Auskotzen

                    Kommentar


                    • #11
                      Und jetzt bitte keinen Spacko OS Flamewar, da steht mir der Sinn wirklich nicht nach.
                      Nagut, dann eisene Fakten: PHP ist auf iso-8859-1 "geeicht"!
                      Also sollte man auch alle Quelltexte in iso abfassen.
                      Wir werden alle sterben

                      Kommentar


                      • #12
                        Das ändert nichts an meinem Problem.
                        [FONT="Helvetica"]twitter.com/unset[/FONT]

                        Shitstorm Podcast – Wöchentliches Auskotzen

                        Kommentar


                        • #13
                          Dein Problem ist, dass dieses MAC OS (oder der Editor) vor jeden Copy&Past Schnippsel diese dusselige BOM klebt. Ein Feature, welches dem Empfänger mitteilt, dass utf-8 kodiertes in der Zwischenablage schlummert.

                          Das ändert nichts an meinem Problem.
                          Natürlich wäre das Problem gegessen, wenn du deine Quelltexte in iso abfassen würdest.

                          Und wie schon gesagt: Das Abschalten der BOM im Editor könnte Früchte tragen.
                          Wir werden alle sterben

                          Kommentar


                          • #14
                            Zitat von combie Beitrag anzeigen
                            Dein Problem ist, dass dieses MAC OS (oder der Editor) vor jeden Copy&Past Schnippsel diese dusselige BOM klebt. Ein Feature, welches dem Empfänger mitteilt, dass utf-8 kodiertes in der Zwischenablage schlummert.
                            Das Problem kommt nicht aus dem OS. Egal wo ich Krempel aus dem Clipboard sonst hinschicke –*kein BOM. Das Problem tritt nur in Eclipse auf. Und darüberhinaus …

                            Zitat von combie Beitrag anzeigen
                            Und wie schon gesagt: Das Abschalten der BOM im Editor könnte Früchte tragen.
                            Scheint es so zu sein, als könne man Eclipse nicht explizit sagen, dass es UTF-8 kodierte Texte nicht mit BOM speichern soll.

                            Zitat von combie Beitrag anzeigen
                            Natürlich wäre das Problem gegessen, wenn du deine Quelltexte in iso abfassen würdest.
                            Ich wiederhole mich ungern, aber: Nein! Egal in welcher Kodierung ich arbeite, das BOM wird trotzdem mit eingefügt und nicht angezeigt (jedenfalls in der Default Schriftart (Monaco). Ändere ich auf Courier New, sehe ich ein Zeichen).
                            [FONT="Helvetica"]twitter.com/unset[/FONT]

                            Shitstorm Podcast – Wöchentliches Auskotzen

                            Kommentar


                            • #15
                              Zitat von combie Beitrag anzeigen
                              Dein Problem ist, dass dieses MAC OS (oder der Editor) vor jeden Copy&Past Schnippsel diese dusselige BOM klebt. Ein Feature, welches dem Empfänger mitteilt, dass utf-8 kodiertes in der Zwischenablage schlummert.
                              Man sollte meinen, dass ein modernes Betriebssystem vernünftigere Methoden hat, um Clipboard-Datentypen zu kennzeichnen.

                              Natürlich wäre das Problem gegessen, wenn du deine Quelltexte in iso abfassen würdest.

                              Und wie schon gesagt: Das Abschalten der BOM im Editor könnte Früchte tragen.
                              Wenn die Pseudo-BOM beim Einfügen vorn angehängt wird. Falls das schon beim Kopieren passiert, kannst du in deinem Quelltext-Editor einstellen, was du willst, es ändert sich exakt: nix.
                              Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

                              Kommentar

                              Lädt...
                              X