MySQL中UTF16到UTF8的转换

MySQL中UTF16到UTF8的转换,mysql,utf-8,utf-16,Mysql,Utf 8,Utf 16,我试图执行以下查询 SELECT Scania.GensetType, Scania.EngineType, Scania.Engine60Hz, Scania.Alternator, Scania.PriceEur FROM Scania LEFT JOIN NordhavnGenset ON Scania.GensetType=NordhavnGenset.Alternator LEFT JOIN Generator ON Scania.Alternator=Gene

我试图执行以下查询

SELECT  Scania.GensetType, Scania.EngineType, Scania.Engine60Hz, Scania.Alternator, Scania.PriceEur
FROM Scania  
LEFT JOIN NordhavnGenset
    ON Scania.GensetType=NordhavnGenset.Alternator 
LEFT JOIN Generator
    ON Scania.Alternator=Generator.Alternator
LEFT JOIN Insulation 
    ON NordhavnGenset.Insulation=Insulation.Insulation
LEFT JOIN Klasse
    ON NordhavnGenset.Class=Klasse.Class
LEFT JOIN AirInletFilter
    ON NordhavnGenset.AirInletFilter=AirInletFilter.AirInletFilter
LEFT JOIN IP
    ON NordhavnGenset.Ip=IP.IP
WHERE (NordhavnGenset.MaxKva='46') and (Generator.Alternator='ECP34-1LN/4') and (Insulation.Insulation='F (90ºC/45ºC)') and (Klasse.Klasse='KRS\r') and (AirInletFilter.AirInletFilter='No') and (IP.IP='IP23');
然而,似乎

Scania.Alternator=Generator.Alternator
数据类型分别为文本UTF 16和文本UTF8。因此,它无法执行。我需要知道进行转换时应该使用的语法

这是我在执行查询时收到的错误消息

#1267 - Illegal mix of collations (utf16_unicode_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='
您可以使用该函数将值从一种字符编码转换为另一种字符编码:

Scania.Alternator = CONVERT(Generator.Alternator USING ucs2)

可选地,您可以查看为什么列编码是不同的,并考虑使用UTF8或UCS2进行所有的……< / P >,试图编辑答案的匿名用户留下评论:答案包括一个例子。斯堪尼亚交流发电机和发电机之间的比较直接引用了这个问题。如果你有问题,找不到适合你的答案,就发一个新问题。