¿Cómo puedo ver y establecer la codificación de caracteres de la base de datos?
Consulta de la codificación de caracteres de la base de datos
Utilice el parámetro server_encoding para comprobar la codificación del juego de caracteres de la base de datos actual. Por ejemplo, la codificación de caracteres de la base de datos music es UTF8.
1 2 3 4 5 |
music=> show server_encoding; server_encoding ----------------- UTF8 (1 row) |
Configuración de la codificación de caracteres de base de datos
GaussDB(DWS) no admite la modificación del formato de codificación de caracteres de una base de datos creada.
Si necesita especificar el formato de codificación de caracteres de una base de datos, use template0 y la sintaxis CREATE DATABASE para crear una base de datos. Para que su base de datos sea compatible con la mayoría de los caracteres, se recomienda utilizar la codificación de UTF8 al crear una base de datos.
Sintaxis de CREATE DATABASE
1 2 3 4 5 6 7 8 |
CREATE DATABASE database_name [ [ WITH ] { [ OWNER [=] user_name ] | [ TEMPLATE [=] template ] | [ ENCODING [=] encoding ] | [ LC_COLLATE [=] lc_collate ] | [ LC_CTYPE [=] lc_ctype ] | [ DBCOMPATIBILITY [=] compatibility_type ] | [ CONNECTION LIMIT [=] connlimit ]}[...] ]; |
- TEMPLATE [ = ] template
Indica el nombre de la plantilla, es decir, el nombre de la plantilla que se utilizará para crear la base de datos. GaussDB(DWS) crea una base de datos haciendo frente a una plantilla de base de datos. GaussDB(DWS) tiene dos bases de datos de plantillas iniciales template0 y template1 y una base de datos de usuario por defecto gaussdb.
Rango de valores: un nombre de base de datos existente. Si no se especifica, el sistema copia template1 de forma predeterminada. Su valor no puede ser gaussdb.
Actualmente, las plantillas de base de datos no pueden contener secuencias. Si existen secuencias en la biblioteca de plantillas, se producirá un error en la creación de la base de datos.
- ENCODING [ = ] encoding
Codificación de caracteres utilizada por la base de datos. El valor puede ser una cadena de caracteres (por ejemplo, SQL_ASCII') o un número entero.
Si no se especifica este parámetro, se utiliza la codificación de la base de datos de plantillas de forma predeterminada. La codificación de las bases de datos de plantillas template0 y template1 depende del sistema operativo de forma predeterminada. La codificación de caracteres de template1 no se puede cambiar. Para cambiar la codificación, utilice template0 para crear una base de datos.
Rango de valores: GBK, UTF8 y Latin1
La codificación del juego de caracteres de la nueva base de datos debe ser compatible con la configuración local (LC_COLLATE y LC_CTYPE).
Ejemplos
Cree la base de datos music con UTF8 (el tipo de codificación local es también UTF8).
1
|
CREATE DATABASE music ENCODING 'UTF8' template = template0; |