sanderh:
The charset on the OLD database was utf8_general_ci
The charset on the NEW database is also utf8_general_ci.
However the tables have latin1_swedish_ci, on both servers...
Interesting. Since the Database and the Tables are the same on both I wouldn't really be expecting you to be having the problems that you have.
What version of Zencart are you using?
Did you try to perform a ZenCart update at the same time as the migration?
Also, in your 1st post you wrote
"After migrating it to our servers, some characters (like the €-sign) are corrupted."
and
"For example when I create a coupon code with a €-sign in the couponcode field, I get a SQL error."
Can you verify that these are two different (albeit related) issues.
Issue#1) The €-sign is 'corrupted' in the pre-existing data that was imported (in what way is this particular symbol corrupted?). and
Issue#2) You can no longer enter data that contains the €-sign
sanderh:
Can webserver software be the cause of this?
The WEB server, no. A Webserver has nothing to do with SQL.
Can the SQL server be the cause.. Yes, most certainly, especially if the data was originally stored in a MySQL server and you are trying to import it into an MSSQL or MariaDB server, etc...
There can even be issues exporting/importing into different versions of the same SQL server
sanderh:
I think the old server ran on LINUX/Apache, while the new one is WINDOWS/IIS
The WebServer is irrelevant. The fact that you have downgraded to Windows based services may be relevant, but at the end of the day it is the DB server that is of most importance. A MySQL server on a Linux based machine generally doesn't behave any differently than the same version of a MySQL server running on a Windows based machine.
I suspect that a part (or all) of your problem relates to the fact that you exported with phpmyadmin, but imported with HeidiSQL.
> sanderh:
I cannot do this again, because the site is already in use on the new server.
Orders will disapear, so I have to fix this on the current server.
Yoiks. This has somewhat limited your options, and a fix may not even be easily possible
I have just three suggestions for you. None of which I'm very confident about, so before trying either make sure you backup your database first.
Suggestion#1
Download and run this:
http://www.zen-cart.com/downloads.php?do=file&id=1318
Keep your fingers crossed. I've no idea what to expect if all of your tables and data get converted to UTF8 if your ZenCart version is still using LATIN1
Suggestion#2.
Export the data to a CSV file, load this file into a spreadsheet and use the Search-Replace functions to 'fix' the 'corruptions', then re-import the modified CSV.
The 3rd option would be to hire a database expert to see if they can restore things back to a sane condition. Databases can be very unforgiving, and if you don't fully understand what you are doing you can end up making a bad situation worse.
Don't forget the cardinal rule though... MAKE A BACKUP (and ideally you should test that you can restore from this backup before doing anything else). It's no good having a backup if you don't know how to use it to restore.
I wish you the best of luck. I think you are going to need it.
CHeers
RodG