Php UTF-8字符集无法正确显示法语字符。

Php UTF-8字符集无法正确显示法语字符。,php,character-encoding,phpmyadmin,Php,Character Encoding,Phpmyadmin,我正在执行以下步骤将数据导入我的电子商务商店: 在excel中将excel工作表转换为csv 在记事本++中打开csv文件并转换为UTF-8 在phpmyadmin中导入csv文件 如果我看网页的前端,法语字符显示为?。页面的字符集是utf-8 如果我将字符集更改为iso-8859-1,所有内容都会正确显示 如果我在phpmyadmin中选中该项,则重音会正确显示 为什么utf-8不能正确显示它们?我想它应该显示出来 如果我转到网站的后端编辑产品,法语描述将正确显示在所见即所得编辑器中。如果我保

我正在执行以下步骤将数据导入我的电子商务商店:

  • 在excel中将excel工作表转换为csv
  • 在记事本++中打开csv文件并转换为UTF-8
  • 在phpmyadmin中导入csv文件
  • 如果我看网页的前端,法语字符显示为?。页面的字符集是utf-8

    如果我将字符集更改为iso-8859-1,所有内容都会正确显示

    如果我在phpmyadmin中选中该项,则重音会正确显示

    为什么utf-8不能正确显示它们?我想它应该显示出来


    如果我转到网站的后端编辑产品,法语描述将正确显示在所见即所得编辑器中。如果我保存产品,那么法语字符将正确显示。但这是因为WYSIWYG编辑器正在将字符转换为html实体

    > P>你可以考虑用PHP打开你的CSV(因为你在标签中提到它),然后在用查询保存它们之前使用UTF8YEngEnter。

    < P>你可以考虑用PHP打开CSV(因为你在标签中提到它),并在字段上使用utf8_编码,然后将其与查询一起保存。

    收集Unicode数据时的一个常见问题是将连接和数据库/表/列字符集配置为ISO-8859-1,然后插入实际为utf-8的数据。数据库基本上被告知,“这里有一些8859-1编码的数据,将其存储在这个8859-1表中”。它不做任何转换,因为它没有意识到数据不在8859-1中。所以数据是utf-8,但数据库基本上被告知是在8859-1中

    这是一个潜在的问题,因为正如您所说,如果您将字符集更改为UtF-8,数据库将错误地将其转换,因为它将“8859-1”数据(请记住,数据库认为它是8859-1)转换为UtF-8-转换当然会失败,因为数据实际上在UtF-8中

    所以基本上问题是phpmyadmin在8859-1中,但是你告诉它在8859-1中插入数据,然后告诉它你在8859-1中提供数据,然后给它utf-8数据。数据库认为它是8859-1,所以解决这个问题的唯一简单方法是a)保持像它是8859-1一样的行为,即使它不是,并且希望您永远不必处理排序、搜索、排序等(在您的情况下可能会起作用),或者b)将数据作为8859-1取出(不进行转换),然后在设置数据库并连接到utf-8之后重新插入它,这样数据库就知道数据真正在哪个字符集中


    希望这是有道理的。如果没有,请告诉我。收集Unicode数据时的一个常见问题是将连接和数据库/表/列字符集配置为ISO-8859-1,然后插入实际上是utf-8的数据。数据库基本上被告知,“这里有一些8859-1编码的数据,将其存储在这个8859-1表中”。它不做任何转换,因为它没有意识到数据不在8859-1中。所以数据是utf-8,但数据库基本上被告知是在8859-1中

    这是一个潜在的问题,因为正如您所说,如果您将字符集更改为UtF-8,数据库将错误地将其转换,因为它将“8859-1”数据(请记住,数据库认为它是8859-1)转换为UtF-8-转换当然会失败,因为数据实际上在UtF-8中

    所以基本上问题是phpmyadmin在8859-1中,但是你告诉它在8859-1中插入数据,然后告诉它你在8859-1中提供数据,然后给它utf-8数据。数据库认为它是8859-1,所以解决这个问题的唯一简单方法是a)保持像它是8859-1一样的行为,即使它不是,并且希望您永远不必处理排序、搜索、排序等(在您的情况下可能会起作用),或者b)将数据作为8859-1取出(不进行转换),然后在设置数据库并连接到utf-8之后重新插入它,这样数据库就知道数据真正在哪个字符集中


    希望这是有道理的。如果没有,请告诉我。这是一个很难理解的问题。

    这个问题太老了,但是在各种程序(如Excel等)中将文件的编码从ISO-8859-1更改为UTF-8对我来说不起作用

    我的问题是像
    intérêt
    这样的词在文件中显示为
    intérêt

    如果这对某人有所帮助,以下是最终对我有效的方法:

  • 从CSV文件开始,在记事本中打开
  • 单击“文件>另存为”
  • 在出现的对话框窗口中,从“编码”字段中选择“ANSI”。然后单击“保存”

  • 就这样!使用Excel打开这个新的CSV文件应该可以正确显示非英语字符。

    这个问题太老了,但是在各种程序(如Excel等)中将文件的编码从ISO-8859-1更改为UTF-8对我来说不起作用

    我的问题是像
    intérêt
    这样的词在文件中显示为
    intérêt

    如果这对某人有所帮助,以下是最终对我有效的方法:

  • 从CSV文件开始,在记事本中打开
  • 单击“文件>另存为”
  • 在出现的对话框窗口中,从“编码”字段中选择“ANSI”。然后单击“保存”

  • 就这样!使用Excel打开这个新的CSV文件应该可以正确地显示非英语字符。

    我想我在读了几遍之后明白了你的意思。如何查看数据库设置为什么字符集?我假设它是8859-1,但当我转到数据库上的“操作”选项卡时,它会显示utf8\u general\u cin不确定phpmyadmin,但通常可能会有所帮助。基本上,服务器有一个默认字符集,表有一个,列可能有一个字符集,连接也有一个。因此,了解全局可能是必要的。如果在phpmyadmin中检查数据库,您将看到设置phpmyadmin