Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.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/8/mysql/70.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读取Windows unicode文件并将其存储在utf-8数据库中?_Php_Mysql_Windows_Unicode_Registry - Fatal编程技术网

如何通过php读取Windows unicode文件并将其存储在utf-8数据库中?

如何通过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中打开它们时,内

导出注册表项时,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中打开它们时,内容只是乱七八糟


关于如何正确处理这个问题有什么想法吗?

我想我会与大家分享我能想出的解决方案。诀窍是使用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)?