Saltar al contenido

convert_cyr_string()

Nota: convert_cyr_string() fue eliminada en PHP 8.0. Es una función heredada que no debería usarse en aplicaciones PHP modernas. Para convertir entre codificaciones de caracteres, utiliza mb_convert_encoding() o iconv() en su lugar.

La función convert_cyr_string() se utilizaba históricamente para convertir una cadena de un conjunto de caracteres cirílico heredado a otro. La sintaxis de la función convert_cyr_string() era la siguiente:

La sintaxis de PHP de convert_cyr_string()

php
string convert_cyr_string ( string $str , string $from , string $to )

La función aceptaba tres parámetros: la cadena a convertir ($str), el conjunto de caracteres de origen ($from) y el conjunto de caracteres de destino ($to). La función convert_cyr_string() devolvía la cadena convertida.

A continuación se muestra un ejemplo de cómo se utilizaba la función:

Ejemplo de PHP convert_cyr_string()

php
<?php
$string = "Текст на русском";
$converted_string = convert_cyr_string($string, "w", "k");
echo $converted_string;
?>

En este ejemplo, la cadena se trata como si estuviera en el conjunto de caracteres w (Windows-1251), que históricamente se utilizaba para texto cirílico. La convertimos al conjunto de caracteres k (KOI8-R). Pasamos la cadena, w y k a la función convert_cyr_string(), que devuelve la cadena convertida.

La salida de este código en un entorno UTF-8 moderno será texto ilegible (mojibake), ya que los bytes sin procesar se reinterpretan sin el contexto de codificación adecuado:


console
╨Т╨╡╨║╨╕╨▓ ╨╧╨░╨╣╨▓╨╕╨▓

Como puedes ver, la función convirtió los bytes sin procesar, pero sin coincidir con la codificación del entorno, no se muestra como texto cirílico legible.

A continuación se muestra otro ejemplo histórico utilizando el conjunto de caracteres i (ISO 8859-5):

¿Cómo usar PHP convert_cyr_string()?

php
<?php
$string = "Текст на русском";
$converted_string = convert_cyr_string($string, "w", "i");
echo $converted_string;
?>

En este ejemplo, convertimos la cadena al conjunto de caracteres i. Pasamos la cadena, w e i a la función convert_cyr_string(), que devuelve la cadena convertida.

La salida de este código en un entorno UTF-8 moderno producirá una salida ilegible de manera similar:


console
╨Т╨╡╨║╨╕╨▓ ╨╧╨░╨╣╨▓╨╕╨▓

La función convert_cyr_string() es una herramienta heredada que ya no se mantiene. El desarrollo moderno de PHP se basa en UTF-8 de forma predeterminada, y las funciones de codificación heredadas como esta están obsoletas. Para una conversión confiable de conjuntos de caracteres, utiliza mb_convert_encoding() o iconv() con destinos UTF-8 explícitos.

Esperamos que este artículo haya sido útil para comprender el contexto histórico de la función convert_cyr_string() en PHP. Si tienes alguna pregunta o comentario, no dudes en contactarnos.

Práctica

¿Qué hace la función 'iconv' de PHP según se describe en el artículo?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.