Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Nicht-UTF-8 Byte-Sequenzen entfernen

0 views
Skip to first unread message

Torsten Zühlsdorff

unread,
Jul 3, 2009, 4:00:44 AM7/3/09
to
Hallo,

folgender Ausgang:
Ich habe eine kleine Suchmaschine geschrieben. Sie crawlt Seiten und
ermᅵglicht eine Volltextsuche ;)

Jetzt das Problem:
Einige Kunden, die die SuMa Nutzen, haben zwar Ihre Webseiten als UTF-8
deklariert und grᅵᅵtenteils auch so umgesetzt, aber dennoch gibt es
ungᅵltige Byte-Sequenzen, welche einen Import in die Datenbank verhindern.

Gibt es eine Mᅵglichkeit, diese Byte-Sequenzen zu finden und zu entfernen?

Gruᅵ,
Torsten

Ulf [Kado] Kadner

unread,
Jul 3, 2009, 4:25:01 AM7/3/09
to
Torsten Zᅵhlsdorff schrieb:

> folgender Ausgang:
> Ich habe eine kleine Suchmaschine geschrieben. Sie crawlt Seiten und
> ermᅵglicht eine Volltextsuche ;)

*staun* ;-)

> Jetzt das Problem:
> Einige Kunden, die die SuMa Nutzen, haben zwar Ihre Webseiten als UTF-8
> deklariert und grᅵᅵtenteils auch so umgesetzt, aber dennoch gibt es
> ungᅵltige Byte-Sequenzen, welche einen Import in die Datenbank verhindern.
>
> Gibt es eine Mᅵglichkeit, diese Byte-Sequenzen zu finden und zu entfernen?

Nur so als Idee:

In regulᅵren Ausdrᅵcken hat man ja die Mᅵglichkeit mit sogenannten
"Unicode character properties" zu arbeiten [^\pL\pN...]+

Diese sollten ja eigentlich bereits einen groᅵen Bereich abdecken. u.U.
reicht das bereits da hier eigentlich eher nur ungebrᅵuchliche oder
selten-nie benᅵtigte Zeichen nicht abgedeckt werden kᅵnnen.

MfG, Ulf

Torsten Zühlsdorff

unread,
Jul 3, 2009, 4:52:01 AM7/3/09
to
Torsten Zᅵhlsdorff schrieb:

> Gibt es eine Mᅵglichkeit, diese Byte-Sequenzen zu finden und zu entfernen?

Wie ich jetzt herausgefunden habe: Die defekten Byte-Sequenzen entstehen
wᅵhrend der Verarbeitung. Wenn ein UTF-8 Inhalt einem
html_entity_decode() unterzogen wird, entstehen dabei die besagten
Sequenzen. Wenn man als dritten Parameter das Encoding angibt, ist das
Problem gelᅵst.

Immer das selbe. Sobald man nach stundenlangen Suchen sich dann Hilfe
holen mᅵchte, fᅵllt die Lᅵsung ein paar Minuten spᅵter auf. :P

Gruᅵ,
Torsten

Torsten Zühlsdorff

unread,
Jul 3, 2009, 4:55:56 AM7/3/09
to
Ulf [Kado] Kadner schrieb:

> Torsten Zᅵhlsdorff schrieb:
>
>> folgender Ausgang:
>> Ich habe eine kleine Suchmaschine geschrieben. Sie crawlt Seiten und
>> ermᅵglicht eine Volltextsuche ;)
>
> *staun* ;-)

;) Es wᅵre unnᅵtig das Fakt-Sheet hier aufzuzᅵhlen. Allerdings bin ich
recht stolz darauf, da sie so gestrickt ist, dass sie unabhᅵngig von den
Seiten ist und die Suchfunktion ᅵber eine XML-Schnittstelle vᅵllig
unabhᅵngig eingebunden werden kann.
Den Kunden ist das aber egal. Die freuen sich darᅵber, dass es in einer
halben Stunde eine vollstᅵndige Suche gibt, die nur Ihre eigenen Seiten
durchsucht und das auch noch Domainᅵbergreifent.

Und ich spare mir jedesmals die Arbeit, eine Suche fᅵr meine Projekte zu
programmieren ;)

>> Jetzt das Problem:
>> Einige Kunden, die die SuMa Nutzen, haben zwar Ihre Webseiten als
>> UTF-8 deklariert und grᅵᅵtenteils auch so umgesetzt, aber dennoch gibt
>> es ungᅵltige Byte-Sequenzen, welche einen Import in die Datenbank
>> verhindern.
>>
>> Gibt es eine Mᅵglichkeit, diese Byte-Sequenzen zu finden und zu
>> entfernen?
>
> Nur so als Idee:
>
> In regulᅵren Ausdrᅵcken hat man ja die Mᅵglichkeit mit sogenannten
> "Unicode character properties" zu arbeiten [^\pL\pN...]+
>
> Diese sollten ja eigentlich bereits einen groᅵen Bereich abdecken. u.U.
> reicht das bereits da hier eigentlich eher nur ungebrᅵuchliche oder
> selten-nie benᅵtigte Zeichen nicht abgedeckt werden kᅵnnen.

Soweit ich mich entsinnen kann, war die Unicode Unterstᅵtzung in
Regulᅵren Ausdrᅵcken in PHP nicht sonderlich gut? Ist allerdings schon
ein Weilchen her, als ich das mal benᅵtigt habe.

Anderseits ist das Problem jetzt gelᅵst :)
<h2kh25$8kr$1...@news.eternal-september.org>

Gruᅵ,
Torsten

Karl Pflästerer

unread,
Jul 3, 2009, 5:19:03 AM7/3/09
to
Torsten Z�hlsdorff <f...@meisterderspiele.de> writes:

> folgender Ausgang:
> Ich habe eine kleine Suchmaschine geschrieben. Sie crawlt Seiten und

> erm�glicht eine Volltextsuche ;)


>
> Jetzt das Problem:
> Einige Kunden, die die SuMa Nutzen, haben zwar Ihre Webseiten als
> UTF-8

> deklariert und gr��tenteils auch so umgesetzt, aber dennoch gibt es
> ung�ltige Byte-Sequenzen, welche einen Import in die Datenbank
> verhindern.
>
> Gibt es eine M�glichkeit, diese Byte-Sequenzen zu finden und zu entfernen?

Hast du schon mal recode ausprobiert? von utf8 nach zB ucs4 (mit force);
und dann wieder zur�ck zu utf8. Alle ung�ltigen Sequenzen sollten dann
weg sein.

KP

Torsten Zühlsdorff

unread,
Jul 3, 2009, 5:35:53 AM7/3/09
to
Karl Pfl�sterer schrieb:

Ja, das hatte ich bereits probiert, aber es hat nicht geklappt. Weil der
Fehler sp�ter durch mich hervorgerufen wurde.

Gru�,
Torsten

0 new messages