当前位置: 首页 > 知识库问答 >
问题:

将UCS-2LE BOM编码转换为UTF而不丢失信息PHP

轩辕庆
2023-03-14

我有一个. csv文件编码在UCS-2LE BOM。我需要对它进行一些更改,我想使用preg_replace,所以我想将文件转换为UTF-8。然而,当我转换它时,所有的空格都消失了,所有属于同一行的单词都粘在一起。

我的代码是:

$content = file_get_contents( "myFile.csv" );
$content = mb_convert_encoding( $content, 'UCS-2LE', 'UTF-8');

进行转换的正确方法是什么,这样我就不会丢失任何空格或字符?

转换前-Excel中的屏幕截图:

转换文件后:

共有1个答案

江宏深
2023-03-14

你应该把第二行改成这样:

$content = mb_convert_encoding($content, 'UTF-8', 'UCS-2LE');

第二个参数是编码,第三个参数是编码。

 类似资料:
  • 问题内容: 以下代码存在问题: 是,是。在不丢失信息的情况下,在这两种数字类型之间进行转换以使用编码器和解码器的唯一方法是吗? 注意,在您的典型情况下,我不尝试直接进行数值转换。我更关心维护随机数生成器的统计属性。 问题答案: 看到-1与以32位运行的进程一致。 例如,请参阅Go1.1发行说明(已引入) 使用可以帮助您查看发生了什么 事实证明,OP实战程序([在注释中]确认它最初以32位运行(因此

  • 我试图以CSV格式保存py spark . SQL . data frame . data frame(也可以是其他格式,只要它易于阅读)。 到目前为止,我找到了几个示例来保存DataFrame。然而,每次我编写它时,它都会丢失信息。 数据集示例: 为了将这个文件保存为CSV,我首先尝试了这个解决方案: 不幸是,这导致了以下错误: 这就是我尝试另一种可能性的原因,将spark数据帧转换成panda

  • 我目前正在工作,并击中一个问题与转换UTF-8字符串到UCS-2字符串与icu库。在图书馆里有几种方法可以做到这一点,但是到目前为止,它们似乎都不起作用,但是考虑到这个图书馆的受欢迎程度,我假设我做错了什么。 首先是通用代码。在所有情况下,我都是在对象上创建和传递字符串,但在它达到转换步骤之前,没有任何操作。 目前使用的utf-8字符串只是“ĩ”。 为了简单起见,我将在这段代码中表示作为使用的字符

  • 本文向大家介绍PHP 将ASCII转换为UTF-8编码,包括了PHP 将ASCII转换为UTF-8编码的使用技巧和注意事项,需要的朋友参考一下 如果我们知道当前的编码是ASCII,则可以使用'iconv'函数将ASCII转换为UTF-8。原始字符串可以作为参数传递给iconv函数,以将其编码为UTF-8。 示例 具有特殊字符的字符串被分配给'str'变量。它以当前所在的编码以及需要转换为的编码传递

  • 我有一个泛型接口,可以由抽象基类的不同子类实现。 在基类中,我定义了一个小的帮助器方法,检查当前实例是否实现了该接口,并在可能的情况下强制转换为该接口: 例如,我使用这个helper方法来获取和打印这些值: 但这会给我一个不安全的强制转换警告,因为现在返回的是而不是。我知道编译代码后泛型类型信息会丢失,但是由于的返回类型总是类型的,所以它应该是安全的? 为什么类型信息首先丢失? 是否可以直接动态强

  • 我的Git存储库中有一个文件有多个提交,它是用Windows使用的16位Unicode(UCS-2)编码的。 正因为如此,Git认为它是一个二进制文件,而不是文本文件,我看不到不同提交所做的更改。 有没有办法将该文件追溯转换为UTF-8,即重建历史记录,就好像该文件一直是UTF-8,而我一直将其提交为UTF-8文件,而不是16位Unicode文件?