Mysql和excel csv文件

时间:2018-04-27 21:30:19

标签: php mysql csv mysql-error-1267

我有一个PHP脚本,必须将csv文件中的某些单词与mysql表元素进行比较。问题是显然csv文件没有在正确的编码中创建。

第一个错误是这样的: SQLSTATE [HY000]:一般错误:1267非法混合排序(latin1_general_ci,IMPLICIT)和(utf8_general_ci,COERCIBLE)操作'喜欢'

现在当我在变量上使用utf_encode时,错误就消失了,但它没有在mysql数据库中找到我的变量。

要清楚,我的csv文件中有几个重音词,我无法改变它。

我在我的数据库中使用 latin1 字符集和 latin1_general_ci 排序规则。

另一个观察是我正在使用以下代码来获取文件中的信息:

if (($handle = @fopen("../arquivos/atualização/$name", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {

我可以以某种方式在PHP中转换我的csv文件而不会丢失重音吗?或转换我的数据库表?

注意:在notepad ++中,我的CSV文件是ANSI编码,当我将其转换为utf时,重音变成了奇怪的字符。

0 个答案:

没有答案