Cómo convertir variable (texto / cadena) a utf8mb4 en php

Hola, estoy buscando una función de encoding para utf8mb4,

$var = = "نور"; echo utf8mb4_encode($string); output = نور // its $var output in UTFMB4 

La salida debe ser “Ù † ÙØ ±” esto, es una conversión de $ var en utfmb4

El valor de retorno de la función mb_convert_encoding podría darle el resultado deseado.

 $string = "نور"; $result = mb_convert_encoding($string, 'UTF-8', 'Windows-1252'); //$result = mb_convert_encoding($string, 'UTF-8', 'Windows-1254'); echo $result; 

mb_convert_encoding es la respuesta. Otra opción es la función iconv , pero esto supone que $ var no está ya en utf8. Primero debe averiguar en qué conjunto de caracteres está codificado $ var. Si la variable está realmente codificada en el script PHP, entonces:

ya está codificado en utf-8

O

su script php comienza con

  

(simplemente reemplace ISO-8859-1 con lo que sea que sea la encoding real)

O

es un error en tu código fuente. (porque el código fuente de PHP está codificado en UTF-8 por defecto, a menos que se especifique lo contrario con la statement de encoding)

asumiendo ISO-8859-1, $result = mb_convert_encoding($string, 'UTF-8', 'ISO-8859-1'); / $result=iconv('ISO-8859-1','UTF-8',$string);

(PD, utf8mb4 NO es una encoding de caracteres, utf8mb4 es solo el alias de MySQL para utf8. Lo que MySQL llama utf8 es en realidad un subconjunto de 3 bytes del utf8 real y lo que MySQL llama utf8mb4 es el verdadero utf8. daño. y desafortunadamente, MariaDB heredó este daño cerebral de MySQL cuando se bifurcó.)