Dado un número hexadecimal o decimal Unicode para un personaje que desea generar un script CLI PHP, ¿cómo puede PHP generarlo? La función chr()
parece no generar el resultado correcto. Aquí está mi script de prueba, utilizando el carácter de salto de sección U + 00A7 (A7 en hexadecimal, 167 en decimal, debe ser representado como C2 A7 en UTF-8) como una prueba:PHP construir una cadena Unicode?
<?php
echo "Section sign: ".chr(167)."\n"; // Using CHR function
echo "Section sign: ".chr(0xA7)."\n";
echo "Section sign: ".pack("c", 0xA7)."\n"; // Using pack function?
echo "Section sign: §\n"; // Copy and paste of the symbol into source code
La salida consigo (a través una sesión de SSH al servidor) es:
lo tanto, que demuestra que la fuente de terminal que estoy usando tiene el carácter de salto de sección en ella, y la conexión SSH está enviarlo junto con éxito, pero chr()
ISN' t construirlo correctamente al construirlo a partir del número de código.
Si todo lo que tengo es el número de código y no una opción de copiar/pegar, ¿qué opciones tengo?
Una forma excelente de hacerlo sería simplemente escribir el documento PHP en UTF-8 en primer lugar. –
Excelente respuesta, Michael; y gracias por la función! Creé algo similar para mí usando la función pack en lugar de chr repetidamente. Billy, para este propósito específico, necesito pasar de un punto de código a un personaje; escribir el script PHP en UTF-8 con los caracteres ya integrados no es una opción. – MidnightLightning