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

Jef*_*ffz 1 php mysql import utf-8

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

头1|头2|头3|头4
brytyjski wytwórca|z jak?e bogat?|przedwojenn? 历史?|zapowiedzia?维普什切尼
天珠?znamy|jedynie 调色板?kolorów|obejmuj?c? 一个?|杰德?pozycj?

我尝试了很多不同的方法将它放入 mysql 表中:

  • 逐行使用 php

  • 以我能想到的任何方式通过控制台使用 LOAD DATA INFILE,例如:

 
LOAD DATA INFILE 'C:/\wamp/\www/\hmvc/\prop_tst.txt' INTO TABLE hmvc.table CHARACTER SET 'utf8' FIELDS TERMINATED BY '|' 以 '\n' 结尾的行 \g

我总是得到:

  • 乱码(错误编码)条目

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

顺便提一下:我还在 utf8、utf16、latin2(用于东欧编码)...和 ​​nada 中设置了表格。

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

Php iconv 等似乎不能胜任这项工作。

任何帮助,一些阅读的链接等将不胜感激,因为我刚刚没有想法。

egg*_*yal 5

LOAD DATA INFILE语法下所述:

 笔记

这是不可能加载使用的数据文件ucs2utf16utf32字符集。

UTF-8 可以表示与 UTF-16 相同的全套 Unicode 代码点。也许仅使用该编码(或在导入其他语言之前对文件进行转码,例如通过 PHP 的iconv()函数)是最简单的?