首页 文章

非法混合排序mysql错误?

提问于
浏览
0

我正在使用 geoloaction 来查找返回xml数据的用户的当前位置

<geonames>
    <geoname>
        <toponymName>Gulbahar</toponymName>
        <name>Golīmar</name>
        <lat>24.8922</lat>
        <lng>67.0287</lng>
        <geonameId>1346867</geonameId>
        <countryCode>PK</countryCode>
        <countryName>Pakistan</countryName>
        <fcl>P</fcl>
        <fcode>PPLX</fcode>
        <distance>0.14608</distance>
    </geoname>
</geonames>

现在我想 <name>Golīmar</name> 哪个有特殊字符,并且根据该名称我必须运行查询以获取除此之外的更多结果但它会生成某种排序错误

SELECT DISTINCT country
FROM   propertydetails
WHERE  country NOT IN ( "Golīmar" )

错误:非法混合归类(latin1_swedish_ci,IMPLICIT)和(utf8_general_ci,COERCIBLE)操作

我已经看到很多堆叠pos但无法找到解决方法

2 回答

  • 0

    您的表排序规则和连接排序规则不够匹配,无法使查询正常工作 . 确保它们都是相同的,最好是 utf8_general_ci .

  • 0

    我已解决了上述问题

    SELECT DISTINCT country
    FROM   propertydetails
    WHERE  country NOT IN ( _latin1 "Golīmar" )
    

    和连接和表的字符集和排序规则 latin1latin1_swedish_ci

相关问题