Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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/9/ios/122.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 无法将utf16编码的文件导入mysql_Php_Mysql_Utf 8_Import - Fatal编程技术网

Php 无法将utf16编码的文件导入mysql

Php 无法将utf16编码的文件导入mysql,php,mysql,utf-8,import,Php,Mysql,Utf 8,Import,我有一个txt管道分隔文件(非英语-下面给出的是波兰语,但也涉及其他语言),编码为utf16,类似于: head1|head2|head3|head4 brytyjski wytwórca|z jakże bogatą|przedwojenną historią|zapowiedział wypuszczenie dziś znamy|jedynie paletę kolorów|obejmującą aż|jedną pozycję 头1 |头2 |头3 |头4 布莱蒂季斯基·怀特沃茨卡(br

我有一个txt管道分隔文件(非英语-下面给出的是波兰语,但也涉及其他语言),编码为utf16,类似于:

head1|head2|head3|head4 brytyjski wytwórca|z jakże bogatą|przedwojenną historią|zapowiedział wypuszczenie dziś znamy|jedynie paletę kolorów|obejmującą aż|jedną pozycję 头1 |头2 |头3 |头4 布莱蒂季斯基·怀特沃茨卡(brytyjski wytwórca)| z jakże bogat|przedwojenn|histori|zapowiedziałwypuszczenie 哲兹纳米·杰迪尼·帕莱·科洛罗·沃夫·奥贝穆伊·卡瓦伊·杰顿·波兹吉 我尝试了很多不同的方法将其放入mysql表:

  • 使用php逐行执行

  • 以我能想到的任何方式通过控制台使用加载数据填充,例如:

将数据填充“C://\wamp/\www/\hmvc/\prop_tst.txt”加载到表hmvc.TABLE字符集“utf8”字段中,字段以“\n”结尾,行以“\g”结尾 我总是得到:

  • 乱码(错误编码)条目

  • 未输入任何内容(sql写入默认值)

我还用utf8、utf16、拉丁语2(用于东欧编码)设置了表格。。。还有娜达

顺便说一句: 当我更改编码时,例如在记事本中更改为utf8,我可以导入-没问题,但是如果我有需要utf16(亚洲)的字符,或者我想自动输入文件,该怎么办

Php iconv等似乎无法胜任这项工作

非常感谢您提供的任何帮助、一些阅读资料的链接等,因为我刚刚失去了一些想法。

如下所述:

注 无法加载使用
ucs2
utf16
utf32
字符集的数据文件

UTF-8可以表示与UTF-16相同的一整套Unicode代码点。也许只使用这种编码(或者在导入文件之前用其他语言进行代码转换,例如通过PHP的
iconv()
函数)是最简单的方法。

如下所述:

注 无法加载使用
ucs2
utf16
utf32
字符集的数据文件


UTF-8可以表示与UTF-16相同的一整套Unicode代码点。也许只使用这种编码(或者在导入其他语言之前对文件进行转码,例如通过PHP的
iconv()
函数)是最容易的。

无法将UTF-16格式的.txt文件(或者微软称之为“UNICODE”文本文件)导入MySQL。你可以读一下那份声明。我发现最好的选择是-下载并打开文本文件,然后单击“另存为”,确保选择“编码”“UTF-8”。然后可以轻松地将该文件直接加载到SQL表中。我在不到10秒内上传了大约250万条记录

目前无法使用加载数据填充加载使用这些字符集的数据文件。-


无法将UTF-16格式的.txt文件(或Microsoft称之为“UNICODE”文本文件)导入MySQL。你可以读一下那份声明。我发现最好的选择是-下载并打开文本文件,然后单击“另存为”,确保选择“编码”“UTF-8”。然后可以轻松地将该文件直接加载到SQL表中。我在不到10秒内上传了大约250万条记录

目前无法使用加载数据填充加载使用这些字符集的数据文件。-


你说得对——上传前转换成UTF8——这就提出了一个问题:这不会造成亚洲字符的混乱吗?@Jeffz:不,正如我所说,“UTF-8可以表示与UTF-16相同的一整套Unicode代码点。”关于这个注释,你是对的——因此在上传之前转换为UTF8——这就提出了一个问题:这不会造成亚洲字符的混乱吗?@Jeffz:不,正如我所说,“UTF-8可以表示与UTF-16相同的全套Unicode码点。”在“你可以在这里阅读该语句”中的链接不是URL。请添加缺少的链接。@Andrei这是因为他们删除了我引用的网站,这不值得投反对票。不管怎么说,它现在已经修复了。对不起,我想我在搜索的匆忙中被冲昏头脑了,谢谢你的回答。没问题,这种情况会发生。如果使用记事本++而不是TextPad,你可以使用菜单编码/转换为UTF-8然后保存文件。“你可以在这里阅读该语句”中的链接不是URL。请添加缺少的链接。@Andrei这是因为他们删除了我引用的网站,这不值得投反对票。不管怎么说,它现在已经修复了。对不起,我想我在搜索的匆忙中被冲昏头脑了,谢谢你的回答。没问题,这种情况会发生。如果使用记事本++而不是TextPad,你可以使用菜单编码/转换为UTF-8,然后保存文件。 LOAD DATA INFILE 'C:/\wamp/\www/\hmvc/\prop_tst.txt' INTO TABLE hmvc.table CHARACTER SET 'utf8' FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n' \g