ÿþ
ist eine Möglichkeit, die beiden Bytes der dem UTF-16 byte order mark, die zu interpretieren ist \ xFF und \ xFE.
Sie erhalten diese zwei Buchstaben, wenn Sie eine Datei lesen, die in der UTF-16-Kodierung mit einem Werkzeug gespeichert wurde, das nichts von der Verwendung von Unicode versteht - oder wahrscheinlich nicht verwendet wurde.
Zum Beispiel, wenn Sie eine Textdatei mit Windows Editor bearbeiten und wählen Sie "Unicode" als Dateicodierung, wenn Sie es speichern, wird Notepad UTF-16 verwenden, um die Datei zu speichern und wird mit den genannten zwei Bytes an der markiert Anfang.
Wenn die Datei, die Sie zum Lesen der Datei verwenden, sich nicht der Tatsache bewusst ist, dass die Datei Unicode ist, verwendet sie die Standard-Bytecodierung Ihres Computers, um diese Textdatei zu dekodieren.
Nun, wenn das Standardcodierung Windows-1252 zu sein wie in Ihrem Fall passiert, dann ist ÿþ
, was man bekommt, weil es \ xFF ÿ
ist und \ xFE ist þ
.
Folglich, wenn SQL Server mit ÿþ
dargestellt wird, denkt es, dass es der Name einer gespeicherten Prozedur sein muss, da gespeicherte Prozeduren die einzigen Anweisungen sind, die Sie ausführen können, indem Sie nur ihren Name angeben. Und es meldet pflichtgemäß, dass es kein Verfahren dieses Namens finden kann.
Das Problem ist, dass Ihre SQL-Skriptdatei als UTF-16 codiert ist und der Teil Ihrer Anwendung, der es liest, dekodiert es als Windows-1252. – Tomalak
Oh ich verstehe. Was kann ich tun, um darüber hinwegzukommen? – Curiousity