如何通过php读取Windows unicode文件并将其存储在utf-8数据库中?
导出注册表项时,Windows注册表编辑器创建了Windows Unicode(UTF-16-le)文件。我正在尝试找出使用PHP将这些文件导入mysql数据库的最佳方法,以便以后可以再次将它们作为unicode文件下载 当我将它们导入数据库时,我使用的是如何通过php读取Windows unicode文件并将其存储在utf-8数据库中?,php,mysql,windows,unicode,registry,Php,Mysql,Windows,Unicode,Registry,导出注册表项时,Windows注册表编辑器创建了Windows Unicode(UTF-16-le)文件。我正在尝试找出使用PHP将这些文件导入mysql数据库的最佳方法,以便以后可以再次将它们作为unicode文件下载 当我将它们导入数据库时,我使用的是file\u get\u contents()并将它们存储到utf-8列中。当我导出它们时,我首先使用mb\u convert\u编码($row['reg'],'UTF-16')并发出头文件以下载文件。不过,当我在Windows中打开它们时,内
file\u get\u contents()
并将它们存储到utf-8列中。当我导出它们时,我首先使用mb\u convert\u编码($row['reg'],'UTF-16')
并发出头文件以下载文件。不过,当我在Windows中打开它们时,内容只是乱七八糟
关于如何正确处理这个问题有什么想法吗?我想我会与大家分享我能想出的解决方案。诀窍是使用UTF-16LE作为原始字符集
mb_convert_encoding(file_get_contents($file), 'UTF-8', 'UTF-16LE');
插入数据时是否正在执行
mb\u convert\u encoding()
?是否检查了损坏发生的位置?您的数据库连接是UTF吗?桌子是UTF的吗?等等…是的,所有的东西都是UTF。名称、连接、表等。我不是通过mb_convert_对输入进行编码。那里的流程是什么?使用file\u get\u contents将文件读入字符串,并使用$str=mb\u convert\u编码($str,'UTF-8','UTF-16)?