Product import doesn't appear on backend

So, I just went through a similar journey as @David when he posted this back in November.

I was trying to upload a csv into Magento. The csv passed all of the inspection tests, but it simply would not show on the backend of Magento. I tried the most obvious things such as:

  • Reindex Magento with bin/magento indexer:reindex
  • Clear Magento cache with bin/magento c:c

But it simply would not work. After nearly 2 hours of trial-and-error, I narrowed it down to the short_description. Some time later, after excruciating tests I found the issue and the solution (posted below so I can mark as solved).

It turned out that the short_description was using the “wrong” type of apostrophe in the word “it’s”. It was only in 2 of the rows, but it stopped the whole sheet from importing.

Apparently, there are two Unicode characters for apostrophe, U+0027 (also ASCII hex 27), and U+2019.

  • Hamlet’s father’s ghost (U+0027)
  • Hamlet’s father’s ghost (U+2019)

Your typical apostrophe found on your keyboard is U+0027. Which works as expected in a Magento 2 csv. However, if you use the U+2019 version then it breaks the import.

Having not been the original editor of the csv, I don’t know where this rogue U+2019 apostrophe originated. But I do know it’s uncommon, so running into this issue maybe be deemed rare.

Hopefully, this helps someone else from losing their sanity.

Ref: The apostrophe character

EDIT: Apparently, Grammarly is to blame for using the wrong version of apostrophe. Now we know :slightly_smiling_face: