6

I have a Drupal 8 (8.2.5) setup on a Debian Jessie Server PHP 7.0.15-1~dotdeb+8.1 and MySQL 5.5.54. All of a sudden Drupal converted all special characters like ü,ä,ö,ß,–... into question marks like Das mu?? doch nicht sein.

At first I thought, this must be a problem with a false encoding in the HTML header, but the encoding of the page is: UTF-8. Then I realized, that in the database all those characters are really 'converted' to question marks. As I have on the same server many Drupal instances (v. 6, 7 and 8) running, the which never had shown such behavior, I don't think, it is an issue with the server setup. The MySQL logs did not show anything referring to this issue neither.

After restoring the Data base, the same issue occurred again after some days.

I have absolutely no clue, what is going on. Has anybody an idea what could be the cause of this problem?

UPDATE: This problem is getting more wired: It turned out, as soon as I clear the cache, all special characters are gone. A look into the database (with PHPMyAdmin) shows, they really are. When I then restore a former database version, all special characters are shown on the site correctly again, but in the database they are still shown as questions marks. My first guess was: They are already »converted« in the database dumb I was using, but only correct in the cache table. But, when restore the database and directly edit an affected node, all special characters are correctly shown in the form field. After saving it, they are correct even in the database. So I could restore all special characters by bulk republish them from the /admin/content interface. Also it turns out that not only special character in node fields are gone, but also in path alias and taxonomy terms. For example: Where »ä« should be converted to »ae« within a path alias, it was turned to a »?«.

Let me demonstrate this with some screen shots. The special character in this case was an en dash (–): This is how it looks like on the site, when the issue occurs, a question mark is shown where originally an en dash was:

enter image description here

PHPMyAdmin shows us in the next picture, that this en dash was really converted to an question mark:

enter image description here

Looking into the backups of my data base with a text editor show, that in there the special characters are not corrupted.

enter image description here

Uploading the database file with Mackup and Migrate or with drush sql-cli < path/to/my/file/database.sql a look into the database shows, it gets corrupted immediately:

enter image description here

But on the site as long as I don't clear the cache all looks good. That means the cache table aren't corrupted. But surprisingly even if I edit an node, it is shown as if it weren't corrupted:

enter image description here

For a commoner like my that leads to the conclusion:

  • Some how, if I edit a node, it's content is loaded from cache tables!

So my questions are:

  1. Which Drupal module or function could be responsible for touching all most every database entry, but not the cache tables?
  2. If I re-save a node or entity (without making any change), how is it possible, that the database entry of the affected fields change?
  • 1
    Just a side note: Do yourself a favor and update your PHP5 to PHP7, as 7 is twice as fast as 5. – No Sssweat Feb 7 '17 at 1:52
  • I have on the same server many Drupal instances running, the which never had shown such behavior Are those Drupal instances also using Drupal 8? – No Sssweat Feb 7 '17 at 1:56
  • @NoSssweat Thanks for your advise. I have actually two Drupal 8 and 8 Drupal 7 instances. – user5950 Feb 7 '17 at 1:59
  • Does this other D8 use those special characters and no problems there? – No Sssweat Feb 7 '17 at 2:00
  • 1
    @user5950 empty your DB, then use PHPMyAdmin for the upload/import instead of backup and migrate. – No Sssweat Feb 9 '17 at 2:27
5

It turned out that the described problem was caused by the Backup and Migrate module. In fact it is a known bug. So, don't use this module for Drupal 8. It will destroy your entire site.

  • Ha! I had a feeling it wasn't Core related, so looks like my last comment pointed you in the right direction :) – No Sssweat Feb 11 '17 at 7:02
  • @NoSssweat Yes, thank you very much for your help! I had a suspicion myself, but was distracted from the strange fact, that I could restore the uncorrupted data from cache. I'm still confused, that this worked... – user5950 Feb 11 '17 at 11:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.