Conversión de datos entre juegos de caracteres codificados

El gestor de colas puede convertir los datos de mensajes en formatos definidos por IBM® MQ (también conocidos como formatos incorporados) de un juego de caracteres codificado a otro, siempre que ambos juegos de caracteres estén relacionados con un único idioma o un grupo de idiomas similares.

Por ejemplo, está soportada la conversión entre los juegos de caracteres codificados con los identificadores (CCSID) 850 y 500, porque ambos se aplican a idiomas de Europa Occidental.

Para las conversiones de caracteres de nueva línea (NL) EBCDIC a ASCII, consulte Stanza de todos los gestores de colas del archivo mqs.ini y la variable de entorno AMQ_CONVEBCDICNEWLINE .

Las conversiones soportadas se definen en Proceso de conversión de datos.

La conversión entre los CCSID 37 y 500 está soportada en IBM MQ Appliance, Windows, Linux®y macOS.

Cuando un gestor de colas no puede convertir mensajes en formatos incorporados

El gestor de colas no puede convertir automáticamente mensajes en formatos incorporados si sus CCSID respectivos representan grupos de idiomas nacionales distintos. Por ejemplo, la conversión entre el CCSID 850 y el CCSID 1025 (que es un juego de caracteres codificado EBCDIC para idiomas que utilizan el alfabeto cirílico) no está soportada porque muchos de los caracteres de uno de los juegos de caracteres codificados no pueden representarse en el otro. Si tiene una red de gestores de colas que trabajan en distintos idiomas nacionales y la conversión de datos entre algunos de los juegos de caracteres codificados no está soportada, puede habilitar una conversión predeterminada.

Para las plataformas a las que se aplica ccsid_part2.tbl , consulte Especificación de la conversión de datos predeterminada utilizando ccsid_part2.tbl para obtener más información. La conversión de datos predeterminada en plataformas distintas de las a las que se aplica el archivo ccsid_part2.tbl se describe en Conversión de datos predeterminada.

Archivo ccsid_part2.tbl

Se proporciona un archivo adicional, ccsid_part2.tbl.

El archivo ccsid_part2.tbl tiene prioridad sobre el archivo ccsid.tbl y:
  • Permite añadir o modificar entradas CCSID
  • Especificar la conversión de datos predeterminada
  • Especificar datos para diferentes niveles de mandatos
ccsid_part2.tbl sólo es aplicable a las plataformas siguientes:
  • [Linux]Linux - todas las versiones
  • [Windows]Windows

[Windows]En IBM MQ for Windows, ccsid_part2.tbl se encuentra por defecto en el directorio MQDataRoot\conv\table . Además, en IBM MQ for Windows registra todos los conjuntos de códigos soportados.

[Linux]En IBM MQ for Linux, ccsid_part2.tbl se encuentra en el directorio MQDataRoot/conv/table, y los conjuntos de códigos compatibles se mantienen en tablas de conversión proporcionadas por IBM MQ.

Aunque el archivo ccsid_part2.tbl sustituye al archivo ccsid.tbl existente utilizado en versiones anteriores de IBM MQ para proporcionar información de CCSID adicional, el archivo ccsid.tbl sigue siendo analizado por IBM MQ y, por lo tanto, no debe suprimirse.

Para más información, consulte el archivo ccsid_part2.tbl.

Archivo ccsid.tbl

En plataformas distintas de aquellas a las que se aplica ccsid_part2.tbl, el archivo ccsid.tbl se utiliza para los fines siguientes:
  • [AIX]En AIX®, el sistema operativo mantiene internamente los conjuntos de códigos compatibles.
  • Especifica cualquier conjunto de códigos adicional. Para especificar conjuntos de códigos adicionales, debe editar ccsid.tbl (en el archivo se proporciona orientación sobre cómo hacerlo).
  • Especifica cualquier conversión de datos predeterminada.

Puede actualizar la información registrada en ccsid.tbl; es posible que desee hacerlo si, por ejemplo, un release futuro del sistema operativo da soporte a conjuntos de caracteres codificados adicionales.

Conversión de datos predeterminada

Si configura canales entre dos máquinas en las que no se da soporte normalmente a la conversión de datos, deberá habilitar la conversión de datos predeterminada para que funcionen los canales.

En plataformas distintas de aquellas a las que se aplica ccsid_part2.tbl, para habilitar la conversión de datos predeterminada, edite el archivo ccsid.tbl para especificar un CCSID EBCDIC predeterminado y un CCSID ASCII predeterminado. Las instrucciones correspondientes están incluidas en el archivo. Debe hacer esto en todas las máquinas que se conectarán utilizando los canales. Reinicie el gestor de colas para que el cambio surta efecto.

El proceso de conversión de datos predeterminada es el siguiente:
  • Si la conversión entre los CCSID de origen y de destino no está soportada, pero los CCSID de los entornos de origen y de destino son ambos EBCDIC o son ambos ASCII, los datos de tipo carácter se pasan a la aplicación de destino sin realizar ninguna conversión.
  • Si un CCSID representa un juego de caracteres codificado ASCII y el otro representa un juego de caracteres codificado EBCDIC, IBM MQ convierte los datos utilizando los CCSID de conversión de datos predeterminados definidos en ccsid.tbl.
Nota: Intente restringir los caracteres que se están convirtiendo a los que tienen los mismos valores de código en el juego de caracteres codificado especificado para el mensaje y en el juego de caracteres codificado predeterminado. Si utiliza sólo el conjunto de caracteres que es válido para los nombres de objeto de IBM MQ (tal como se define en Nombrar objetos de IBM MQ ) En general, cumplirá este requisito. Se producen excepciones con los CCSID EBCDIC 290, 930, 1279 y 5026 utilizados en Japón, ya que los caracteres en minúsculas tienen códigos distintos de los utilizados en otros CCSID EBCDIC.

Conversión de mensajes en formatos definidos por el usuario

El gestor de colas no puede convertir mensajes en formatos definidos por el usuario de un juego de caracteres codificado a otro. Si necesita convertir datos en un formato definido por el usuario, debe facilitar una salida de conversión de datos para cada formato de este tipo. No utilice identificadores CCSID predeterminados para convertir datos de tipo carácter en formatos definidos por el usuario. Para obtener más información sobre la conversión de datos en formatos definidos por el usuario y sobre la grabación de salidas de conversión de datos, consulte Escritura de salidas de conversión de datos.

Cambio del CCSID del gestor de colas

Cuando haya utilizado el atributo CCSID del mandato ALTER QMGR para cambiar el CCSID del gestor de colas, detenga y reinicie el gestor de colas para asegurarse de que todas las aplicaciones en ejecución, incluidos el servidor de mandatos y los programas de canal, se detengan y se reinicien.

Esto es necesario porque cualquier aplicación que esté en ejecución cuando se cambia el CCSID del gestor de colas sigue utilizando el CCSID existente.