Ich Datendump von einer externen Quelle geladen und einige Zeichenketten enthalten \uXXXX
Sequenzen für die UTF-8 Zeichen, wie diese:Wie konvertiert man literale Sequenzen in UTF-8?
\u017D\u010F\u00E1r nad S\u00E1zavou
ich den Inhalt unter Verwendung von E überprüfen ‚‘ konstant in psql
, kann aber keine finden Funktion/Operator, um mir den richtigen Wert zurückzugeben.
Ich möchte fragen, ob es möglich ist, diese Zeichenfolge mit Unicode Escapes in normalen UTF8 ohne mit PL/pgSQL Funktionen zu konvertieren?
Das literarische Format \ E '' ist keine psql-Client-Sache - jeder SQL-Code, der auf dem PostgreSQL-Server ausgeführt wird, kann diese Syntax verwenden. Sie können die Zeichenfolge in ein Literal wie 'E' \ u017D \ u010F \ u00E1r nad S \ u00E1zavou' setzen, um es richtig interpretieren zu lassen; Was möchtest du noch tun? – kgrittn
Ich möchte in der Lage sein, etwas zu tun: 'UPDATE Tabelle SET richtig = somefunc ('\ u017D \ u010F \ u00E1r nad S \ u00E1zavou') WHERE ID = 1;'. Und die erwartete UTF8-Zeichenfolge erhalten. – vyegorov
Wenn die Datenbank UTF8-Codierung verwendet, sollten Sie in der Lage sein, etwas zu tun: 'UPDATE Tabelle SET richtig = E '\ u017D \ u010F \ u00E1r nad S \ u00E1zavou' WHERE ID = 1;' Was erhalten Sie, wenn Sie ausführen 'SHOW server_encoding;'? Wie wäre es mit 'SHOW client_encoding;'? – kgrittn