Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中ISO-8859-1到UTF-8的转换_Php_Utf 8_Character Encoding_Iso 8859 1 - Fatal编程技术网

PHP中ISO-8859-1到UTF-8的转换

PHP中ISO-8859-1到UTF-8的转换,php,utf-8,character-encoding,iso-8859-1,Php,Utf 8,Character Encoding,Iso 8859 1,我有一个用ISO-8859-1编码的字符串,我需要将其转换为UTF-8 这是原始字符串: 4055765204275;261270001; ;戛纳;6138;米色;38;261270001-6138-38;199,9;199,9;80;61% 鲍姆沃勒39%聚酰胺;100%乙醛; ;FS16;70;116;FS16Jacken&M�恩特尔;1.欧元;判定元件; ;0,6;黑色杰肯&M�恩特尔;斯特普与达恩; ;0010001001001001;261270001; ; ; ; ; ; ; ; ;

我有一个用ISO-8859-1编码的字符串,我需要将其转换为UTF-8

这是原始字符串:

4055765204275;261270001; ;戛纳;6138;米色;38;261270001-6138-38;199,9;199,9;80;61% 鲍姆沃勒39%聚酰胺;100%乙醛; ;FS16;70;116;FS16Jacken&M�恩特尔;1.欧元;判定元件; ;0,6;黑色杰肯&M�恩特尔;斯特普与达恩; ;0010001001001001;261270001; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;86

这是转换后的字符串:

4055765204275;261270001; ;戛纳;6138;米色;38;261270001-6138-38;199,9;199,9;80;61%鲍姆沃勒39%聚酰胺;100%乙醛;FS16;70;116;FS16Jacken&Mè½ntel;1.欧元;德;0,6;黑色杰肯·梅内特;Stepp&Daune;0010001001001001;261270001; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;86

这是我的代码:

$content = "4055765204275;261270001;
;Cannes;6138;Beige;38;261270001-6138-38;199,9;199,9;80;61%
Baumwolle 39% Polyamid;100% Acetat; ;
;FS16;70;116;FS16Jacken & M�ntel;1;EUR;DE;
;0,6;Black;Jacken & M�ntel;Stepp & Daune;
;0010001001001001;261270001; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
; ; ;86 ";
echo $content;

$str = utf8_encode($content);

echo "<hr>" . $str . "<hr>";
$content=“4055765204275;26127001;
戛纳;6138;米色;38;26127001-6138-38;199,9;199,9;80;61%
Baumwolle 39%聚酰胺;100%缩醛;
;FS16;70;116;FS16杰肯&M�新台币,1欧元,德国马克,;
;0,6;黑色;杰肯&M�斯特普和达恩;
;0010001001001001;261270001; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
; ; ;86 ";
echo$内容;
$str=utf8\u编码($content);
回声“
”$str。“
”;
显然� 没有正确转换


有什么问题吗?

如果替换字符(�) 显示在您的源代码中,这意味着您的编辑器本身具有错误的字符编码预期。我不确定您使用的是什么,但您需要查看编辑器设置中有关预期utf8编码的内容


编辑:或者,如果您从中复制的原始源具有替换字符,则该源存在问题,并且无法还原。

您的原始字符串似乎包含UTF-8替换字符(
“\xEF\xBF\xBD”
)如果您对编码有疑问,最好使用
bin2hex
,对数据进行十六进制转储。