gpt4 book ai didi

php - 在 PHP 中将 ISO8859-1 转换为 UTF-8 时出现问题

转载 作者:行者123 更新时间:2023-11-29 01:12:25 26 4
gpt4 key购买 nike

我正在尝试转换从 MySQL 数据库中获取的 ISO8859-1 字符串,并使用 php 将其转换为 UTF-8。但是,当我使用 utf8_encode 函数时,它会从字符串中删除几乎所有的撇号(异常(exception)情况似乎在 html 字段中)。

谢谢

最佳答案

您的“ISO-8859-1”内容可能实际上不是 ISO-8859-1。

当你说 Content-Type: text/html; charset=iso-8859-1,浏览器实际上并不使用 ISO-8859-1,因为令人讨厌的历史原因。他们确实使用 Windows 代码页 1252(西欧),这与 ISO-8859-1 非常相似,但又不相同。

特别是,0x80-0x9F 范围内的字节表示 ISO-8859-1 中不可见且很少使用的控制代码。但是 cp1252 在这个范围内添加了一些打印细节和其他扩展,包括“智能引号”。当您在 MS Word 中编写撇号时,它会将其更改为单个左向智能引号 ',因此在 Word 和其他 Office 应用程序中原始键入的文本通常会出现编码问题。

要将 cp1252 转换为 UTF-8,您必须使用 iconv('cp1252', 'utf-8', $somestring) 而不是 utf8_encode到“真正的”ISO-8859-1。

关于php - 在 PHP 中将 ISO8859-1 转换为 UTF-8 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3693338/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com