SpiderBite - Problem mit UTF-8 BOM

Hier könnt ihr alle Fragen zu SpiderBasic austauschen.
Benutzeravatar
dige
Beiträge: 1183
Registriert: 08.09.2004 08:53

SpiderBite - Problem mit UTF-8 BOM

Beitrag 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
"Papa, mein Wecker funktioniert nicht! Der weckert immer zu früh."
Benutzeravatar
dige
Beiträge: 1183
Registriert: 08.09.2004 08:53

Re: SpiderBite - Problem mit UTF-8 BOM

Beitrag 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:
"Papa, mein Wecker funktioniert nicht! Der weckert immer zu früh."
Benutzeravatar
dige
Beiträge: 1183
Registriert: 08.09.2004 08:53

Re: SpiderBite - Problem mit UTF-8 BOM

Beitrag 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?
"Papa, mein Wecker funktioniert nicht! Der weckert immer zu früh."
Benutzeravatar
dige
Beiträge: 1183
Registriert: 08.09.2004 08:53

Re: SpiderBite - Problem mit UTF-8 BOM

Beitrag 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
"Papa, mein Wecker funktioniert nicht! Der weckert immer zu früh."
Benutzeravatar
dige
Beiträge: 1183
Registriert: 08.09.2004 08:53

Re: SpiderBite - Problem mit UTF-8 BOM

Beitrag von dige »

Denke das ist ein Bug. Habs mal gepostet: https://www.purebasic.fr/english/viewto ... =4&t=72631
"Papa, mein Wecker funktioniert nicht! Der weckert immer zu früh."
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: SpiderBite - Problem mit UTF-8 BOM

Beitrag 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
Hygge
Antworten