Klasse :: dbi :: utf8

Eine Klasse ::: DBI-Unterklasse, die über UTF-8 weiß
Jetzt downloaden

Klasse :: dbi :: utf8 Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Fotango Ltd
  • Website des Verlags:
  • http://search.cpan.org/~fotango/

Klasse :: dbi :: utf8 Stichworte


Klasse :: dbi :: utf8 Beschreibung

Eine Klasse ::: DBI-Unterklasse, die über UTF-8 kennt Anstatt über Dinge wie Zeichensätze nachdenken zu müssen, lieber meine Objekte lieber das Richtige tun. Ich möchte auch UTF-8-Byte-Byte-Saiten in der Datenbank, wann immer dies möglich ist. Verwenden Sie diese Unterklasse von Klasse: -> Erstellen ({id => 1, text => "\ x {2264}"}); # ein weniger als oder gleich-gleich-symbol..will erstellen Sie eine Zeile in der Datenbank, die (wahrscheinlich) die UTF-8-Byte-Kodierung des symbols weniger oder gleich-Symbols enthält. Aber wenn Sie versuchen, das Objekt erneut abzurufen .. mein $ gebrochen = myobject-> abrufen (1); Mein $ Text = $ kaputt-> text; ... $ Text wird (wahrscheinlich) 3 Zeichen enthalten und nichts wie ein weniger als oder gleich-gleich-Symbol aussehen. Ebenso können Sie nicht ordnungsgemäß für Saiten suchen, die nicht-ASCII-Zeichen enthalten # ein e-akut myobject-> erstellen ({text => $ e_acute}); UTF8 :: Upgrade ($ E_ACUTE); # immer noch derselbe Buchstabe, aber mit einer anderen # internen Vertretung myObject-> erstellen ({text => $ e_acute}); Dies erstellt zwei Zeilen in der Datenbank - der erste, der die Latin-1-codierten Bytes eines E-akuten enthält Zeichen (oder die Datenbank kann sich nicht ablehnen, dass Sie die Zeile erstellen können, wenn sie zur Erforderung UTF-8 eingerichtet wurde), wobei letztere die utf-8-codierten Bytes eines E-akuten enthalten. Im letzteren Fall erhalten Sie keinen E-Akut wieder heraus, wenn Sie die Zeile abrufen. Sie erhalten eine Zeichenfolge mit zwei Zeichen, eines für jedes Byte der UTF-8-Kodierung. Wenn Sie Daten von einer Außenquelle abwickeln, haben Sie keine klare Vorstellung davon, was läuft In der Datenbank an allen. __Package __-> utf8_columns ("text"); wird all diese Vorgänge wie erwartet viel mehr arbeiten - die Datenbank enthält immer UTF-8-Bytes, Sie erhalten immer die von Ihnen eingesetzten Zeichen zurück, und Sie werden sofort am beliebtesten Person bei der Arbeit.CLASS :: dbi :: utf8 ist ein Perl-Modul, das davon ausgeht, dass die zugrunde liegende Datenbank und der Fahrer nichts über Zeichensätze kennen, und nur Speicherbytes. Einige Datenbanken, z. B. PostgreSQL und spätere Versionen von MySQL, ermöglichen es Ihnen, Tabellen mit UTF-8-Zeichensätzen zu erstellen, aber die Perl-DB-Treiber respektieren dies jedoch nicht und benötigen dennoch, dass Sie UTF-8-Bytes bestehen und UTF-8 zurückgeben Bytes und damit immer noch spezielle Handhabung mit Klasse: DBI :: UTF8 Wenn möglich. Verwenden Sie Basis QW (Klasse :: dBI); Verwenden Sie Klasse :: dbi :: utf8; ... __package __-> Spalten (ALL => QW (ID-Text anderer)); # Die Textspalte enthält utf8-codierte Zeichendaten __package __-> utf8_columns (QW (Text)); ... # Erstellen Sie ein Objekt mit einem unangenehmen Charakter. mein $ foo = foo-> erstellen ({text => a \ x {2264} b für einige A ",}); # Suche nach UTF8-Zeichen. Foo-> suche (text => "a \ x {2264} b für einiges"); Anforderungen: · Perl.


Klasse :: dbi :: utf8 Zugehörige Software