Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.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_Html_Utf 8_Character Encoding_Iso 8859 1 - Fatal编程技术网

Php 将中文字符从ISO-8859-1转换为UTF-8

Php 将中文字符从ISO-8859-1转换为UTF-8,php,html,utf-8,character-encoding,iso-8859-1,Php,Html,Utf 8,Character Encoding,Iso 8859 1,我得到了一个系统,之前html编码类型被设置为ISO-8859-1,它导致所有的汉字都以的格式存储 因此,我的问题是,如何将上面的格式转换回UTF-8 供您参考,我曾尝试使用utf8_解码、iconv,但都不起作用:( 非常感谢。您需要使用: utf8_encode($data); 而不是解码,将您当前的ISO-8859-1转换为UTF-8 某些本机PHP函数,如strtolower()、strtoupper()和ucfirst()在使用UTF-8字符串时并不总是正确运行。可能的解决方案:首先

我得到了一个系统,之前html编码类型被设置为ISO-8859-1,它导致所有的汉字都以
的格式存储

因此,我的问题是,如何将上面的格式转换回
UTF-8

供您参考,我曾尝试使用utf8_解码、iconv,但都不起作用:(

非常感谢。

您需要使用:

utf8_encode($data);
而不是解码,将您当前的ISO-8859-1转换为UTF-8

某些本机PHP函数,如strtolower()、strtoupper()和ucfirst()在使用UTF-8字符串时并不总是正确运行。可能的解决方案:首先转换为拉丁语或在代码中添加以下行:

setlocale(LC_CTYPE, 'C');
确保不要使用BOM(字节顺序标记)UTF-8文件标记保存PHP文件(浏览器可能会在站点上的PHP页面之间显示这些BOM字符)

仅供参考:

ISO-8859-1=>阿尔巴尼亚语、巴西语、加泰罗尼亚语、丹麦语、荷兰语、英语、芬兰语、法语、德语、葡萄牙语、挪威语、西班牙语、瑞典语


UTF-8=>中文(简体)、中文(繁体)、日语、波斯语

有很多工具可以将字符引用转换为字符,编写这样的工具非常简单,特别是如果您知道引用都是十进制的。因此,答案确实取决于软件环境

例如,要对单个HTML文档进行这种转换,可以使用editor:Convert命令→ 数字字符引用(NCR)→ NCR转换为Unicode,并将结果保存为UTF-8。

该字符串的当前文本编码非常缺乏实质性。您拥有的是HTML实体;它们与底层的“物理”关系不大类似ISO-8859或UTF-8的编码。您需要将这些HTML实体解码为特定编码中字符的字节表示形式,在本例中为UTF-8。因此:

echo html_entity_decode('连衣裙', ENT_COMPAT, 'UTF-8');
// 连衣裙