如何在 php 中将变量 (text/string) 转换为 utf8mb4
How to convert variable (text/string) to utf8mb4 in php
您好,我正在寻找 utf8mb4 的编码函数,
$var = = "نور";
echo utf8mb4_encode($string);
output = نور // its $var output in UTFMB4
输出应该是"Ù†Ù^ر"这个,是$var in utfmb4的转换
mb_convert_encoding 函数的 return 值可以为您提供所需的结果。
$string = "نور";
$result = mb_convert_encoding($string, 'UTF-8', 'Windows-1252');
//$result = mb_convert_encoding($string, 'UTF-8', 'Windows-1254');
echo $result;
mb_convert_encoding 就是答案。另一个选择是 iconv function - 但这是假设 $var 还没有在 utf8 中 - 你必须首先找出 $var 编码的字符集。如果你的变量确实被硬编码到 PHP 脚本中本身,然后:
它已经是 utf-8 编码
或
您的 php 脚本以
开头
<?php
declare(encoding='ISO-8859-1');
(只需将 ISO-8859-1 替换为实际编码)
或
这是您源代码中的错误。 (因为PHP源代码默认是UTF-8编码,除非在编码声明中另有说明)
假设 ISO-8859-1,$result = mb_convert_encoding($string, 'UTF-8', 'ISO-8859-1');
/ $result=iconv('ISO-8859-1','UTF-8',$string);
(PS, utf8mb4
不是字符编码,utf8mb4 只是 MySQL 对 utf8 的昵称。MySQL 调用 utf8
是实际上是真实 utf8 的 3 字节子集。MySQL 调用 utf8mb4
的是真正的 utf8。它只是一些 MySQL 脑损伤。不幸的是,MariaDB 继承了这个脑损伤来自 MySQL 分叉时。)
您好,我正在寻找 utf8mb4 的编码函数,
$var = = "نور";
echo utf8mb4_encode($string);
output = نور // its $var output in UTFMB4
输出应该是"Ù†Ù^ر"这个,是$var in utfmb4的转换
mb_convert_encoding 函数的 return 值可以为您提供所需的结果。
$string = "نور";
$result = mb_convert_encoding($string, 'UTF-8', 'Windows-1252');
//$result = mb_convert_encoding($string, 'UTF-8', 'Windows-1254');
echo $result;
mb_convert_encoding 就是答案。另一个选择是 iconv function - 但这是假设 $var 还没有在 utf8 中 - 你必须首先找出 $var 编码的字符集。如果你的变量确实被硬编码到 PHP 脚本中本身,然后:
它已经是 utf-8 编码
或
您的 php 脚本以
开头<?php
declare(encoding='ISO-8859-1');
(只需将 ISO-8859-1 替换为实际编码)
或
这是您源代码中的错误。 (因为PHP源代码默认是UTF-8编码,除非在编码声明中另有说明)
假设 ISO-8859-1,$result = mb_convert_encoding($string, 'UTF-8', 'ISO-8859-1');
/ $result=iconv('ISO-8859-1','UTF-8',$string);
(PS, utf8mb4
不是字符编码,utf8mb4 只是 MySQL 对 utf8 的昵称。MySQL 调用 utf8
是实际上是真实 utf8 的 3 字节子集。MySQL 调用 utf8mb4
的是真正的 utf8。它只是一些 MySQL 脑损伤。不幸的是,MariaDB 继承了这个脑损伤来自 MySQL 分叉时。)