Kann ich in einem varchar Feld versehentlich gespeichert internationale Zeichen wiederherstellen?

StackOverflow https://stackoverflow.com/questions/241868

Frage

Mein Mandant hat eine alte MS SQL 2000-Datenbank, die varchar (50) Felder verwendet, Namen zu speichern. Er versuchte, diese Datenbank zu verwenden, um einige Daten zu erfassen (über ein Web-Formular). Einige der form Füllstoffe sind aus anderen Ländern, und die varchar Felder gingen nussig, wenn einige dieser Leute ihre Namen eingetragen. Ist es möglich, irgendwie die Daten wiederherzustellen? Vielleicht durch erraten, was sollte das Zeichen auf der Grundlage, was es zu lösen in ASCII / varchar und das Land der Person aus ist? Einige der Daten:

Name / Land / First oder Nachname?
JIA ™ Ã / CZE / F
Torbjörn / FIN / F
Huszár / HUN / L
Jürgen / DEU / F
Müller / CHE / L
Bumbálková / CZE / L
Doležal / CZE / L
Loïc / DEU / L

By the way, das Web-Formular angegebenen diesen Content-type:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
War es hilfreich?

Lösung

aus dem 5. Beispiel arbeiten.

à ist ascii # 195 (C3). ¼ ist ascii # 188 (BC).

Ich würde vermuten, dass Müller Müller sein soll.

Wenn die UTF-8, basierend auf http://en.wikipedia.org/wiki/UTF-8#Description

Wir haben C3 = BC 1100 0011 1011 1100

Die Anwendung der UTF-8-Zuordnung:

(110) 00011 (10) 11 1100

0000 0000 1111 1100

00FC, die Unicode ü

U + 00FC (siehe http://en.wikipedia.org/wiki/Latin_characters_in_Unicode)

Es scheint mir, dass Sie programmatisch durch diese funktionieren könnte.

Nun löst das erste Beispiel:

JIA ™ ã war eigentlich JIA ™ Ã (Das letzte Zeichen nicht gezeigt).

die Ji Ignorieren, was richtig ist,

C5 99 c3 AD

(110) 0 0101 (10) 01 1001 (110) 0 0011 (10) 10 1101

0159 00ED

rI

So ist der Name: Jiří. Wikipedia sagt, dass spezielle r tschechischen und so ist das i. Außerdem, wenn ich Jiří google ( http://www.google.com/search?q=Ji%C5%99%C3%AD&ie=utf-8&oe=utf-8 ) bekomme ich viele Hits. Wir sind auf einen Gewinner hier.

Das zweite Beispiel, Torbjörn, ordnet schön zu Torbjörn, die überzeugend klingt.

IMHO gibt es keinen großen Bedarf an menschlicher Kontrolle dieser, scheinen sie gerade zu arbeiten.

Andere Tipps

Die russische Post hat es geschafft. Hat jemand das Bild speichern, bevor sie verschwunden?

http://forums.thedailywtf.com/forums/p/7156 /133456.aspx

Sie müssen im Grunde ist es durch libiconv stecken, um es zu UTF8.

Eine vollständige Liste der entsprechenden Zeichensätze wird auf Ihre Anwendung ab, aber Sie können einige Vermutungen basierend auf dem Ländercode machen. Beginnen Sie mit dieser Seite auf WikiPedia .

. Achtung: Sie einen Menschen brauchen, um zu überprüfen jeder Umwandlung

Weitere Richards Kommentare: Wenn die Web-Seite mit dem Formular gibt einen Zeichensatz (zB iso-8859-1 == Unicode) & Codierung (zB UTF-8) dann ein Standard-Browser mit Formulardaten übermitteln soll, dass Zeichensatz und Codierung. Wenn Ihre Web-Seiten Unicode angegeben, dann should't Sie mit gelegentlichem Microsoft-Codepages in den Daten bewältigen müssen -. Es alle Unicode sein sollte

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top