Seite 1 von 1

SpiderBite - Problem mit UTF-8 BOM

Verfasst: 12.04.2019 10:07
von dige
Hallo Peter,

nur zur Info, wenn der Quellecode mit UTF-8-BOM gespeichert wird,
liefert CodeBlock = RegularExpressionMatchString(regex_SC)
ein paar Zeichen zu wenig zurück, so dass die Funktion RemoveCodeIdentifier()
den EndMarker nicht erkennt.

Ciao Dirk

Re: SpiderBite - Problem mit UTF-8 BOM

Verfasst: 12.04.2019 10:33
von dige
Args, ich sehe gerade, das SpiderBasic eigentlich immer mit UTF-8-BOM Dateien speichert.

Bei einem Projekt, bei dem plötzlich SpiderBite den CGI Code nicht mehr erkennt, hatte
es geholfen die Datei als UTF-8 ohne BOM zu speichern. Leider gibt es dann Probleme
mit den Umlauten :doh:

Re: SpiderBite - Problem mit UTF-8 BOM

Verfasst: 12.04.2019 11:16
von dige
Das Problem sind mal wieder Emojis :|

Leider kann auch die Forumsoftware nicht mit Emojis umgehen, daher bei "-> Hier ein Emoji einfügen <-" ein Emoji einfügen.

Ich hatte da das Schloss-Symbol. Wenn man das Achtungszeichen verwendet geht's komischerweise /:->

Code: Alles auswählen

ServerCodeType.s = "PbCgi"

regex_SC = CreateRegularExpression(#PB_Any, "^[\t]*[\ ]*Enable" + ServerCodeType + "([\s\S]*?)\(([\s\S]*?)^[\s]*Disable" + ServerCodeType + "", #PB_RegularExpression_MultiLine | #PB_RegularExpression_NoCase)	

content.s = "EnablePbCgi" + #CRLF$ +
          "ProcedureDLL.s A()" + #CRLF$ +
          ~"ProcedureReturn \"-> Hier ein Emoji einfügen <-\"" + #CRLF$ +
          "EndProcedure" + #CRLF$ +
          "DisablePbCgi" + #CRLF$


ExamineRegularExpression(regex_SC, content)
  
If NextRegularExpressionMatch(regex_SC)
  	
   Debug RegularExpressionMatchString(regex_SC)
   
EndIf
Je mehr Emojis im String enthalten sind, desto mehr Zeichen fehlen am Ende..

Was kann man da machen?

Re: SpiderBite - Problem mit UTF-8 BOM

Verfasst: 12.04.2019 11:34
von dige
Mmmh, im Speicher benötigt das Schloss Symbol 5 Bytes und ein Warndreieck nur 3 Bytes..

; Schloss Symbol: 00 3D D8 12 DD
; Warndreieck: 00 A0 26

Code: Alles auswählen

regex_SC = CreateRegularExpression(#PB_Any, "^[\t]*[\ ]*EnablePbCgi([\s\S]*?)\(([\s\S]*?)^[\s]*DisablePbCgi", #PB_RegularExpression_MultiLine | #PB_RegularExpression_NoCase)	

content.s = "EnablePbCgi" + #CRLF$ +
            ~"()\" :-) Replace with Emoji \"" + #CRLF$ +
            "DisablePbCgi"

Debug StringByteLength(content)
ShowMemoryViewer(@content, StringByteLength(content))
CallDebugger

ExamineRegularExpression(regex_SC, content)
  
If NextRegularExpressionMatch(regex_SC)
  	
 Debug RegularExpressionMatchString(regex_SC)
   
EndIf

Re: SpiderBite - Problem mit UTF-8 BOM

Verfasst: 12.04.2019 11:43
von dige
Denke das ist ein Bug. Habs mal gepostet: https://www.purebasic.fr/english/viewto ... =4&t=72631

Re: SpiderBite - Problem mit UTF-8 BOM

Verfasst: 12.04.2019 12:02
von Kiffi
dige hat geschrieben:Hallo Peter, [...]
ich nutze hier mal die Gelegenheit um allgemein mitzuteilen, dass ich für SpiderBite (und auch für meine anderen SpiderBasic-Module) keinen Support mehr anbieten werde.

Ich arbeite derzeit mit einem anderen Produkt, in dessen Entwicklung ich mich effektiver einbringen kann.

Grüße ... Peter