Documentación offline PHP master

UConverter::transcode

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

UConverter::transcode

Convierte una cadena de un juego de caracteres a otro

Descripción#

public static UConverter::transcode(string $str, string $toEncoding, string $fromEncoding, [array $options]): string
```php

Convierte `str` de `fromEncoding` a `toEncoding`.

## Parámetros

`str`  
El `string` a convertir.

`toEncoding`  
El juego de caracteres deseado para el resultado.

`fromEncoding`  
El juego de caracteres actual utilizado para interpretar `str`.

`options`  
Un `array` opcional, que puede contener las siguientes claves: `'to_subst'` - el carácter de sustitución a utilizar en lugar de cualquier carácter de `str` que no pueda ser codificado en `toEncoding`. Si se especifica, debe representar un solo carácter en el codificación objetivo.

## Valores devueltos

Devuelve la cadena convertida, o `false` si ocurre un error.

## Ejemplos

Conversión de UTF-8 a UTF-16 y viceversa
El ejemplo anterior mostrará:

    005a006f00eb
    5a6fc3ab

Caracteres no válidos en la entrada

Si la cadena de entrada contiene una secuencia de octetos que no es válida en el codificación especificado por `fromEncoding`, son reemplazados por el punto de código Unicode U+FFFD (Carácter de reemplazo) antes de ser convertidos a `toEncoding`.
El ejemplo anterior mostrará:

    fffd

Caracteres que no pueden ser codificados

Si la cadena de entrada contiene caracteres que no pueden ser representados en `toEncoding`, son reemplazados por un solo carácter. El carácter por defecto a utilizar depende del codificación y puede ser controlado mediante la opción `'to_subst'`.
'?'] ); echo bin2hex($iso8859_1_string), "\n"; // Dado que el ISO 8859-1 no puede mapear U+FFFD, la entrada inválida también es reemplazada por to_subst. $invalid_utf8_string = "\xC3"; // secuencia multi-octetos UTF-8 incompleta $iso8859_1_string = UConverter::transcode( $invalid_utf8_string, 'ISO-8859-1', 'UTF-8', ['to_subst' => '?'] ); echo bin2hex($iso8859_1_string), "\n"; ?>

```php

El ejemplo anterior mostrará:

1a
3f
3f

Véase también#

mb_convert_encoding, iconv