我正在从 xml 文件中读取数据。我的 xml 文件有像 Istanbul 尔这样的城市名称。我使用选择查询在我的城市表中检查 Istanbul 尔。但是当我在 php 中回显我的 sql 查询时,它以这种格式显示查询
SELECT city_id FROM dc_city
WHERE (name = 'Ä°stanbul - Avrupa' OR FIND_IN_SET('Ä°stanbul - Avrupa',like_names))
AND cultureid = 13
Illegal mix of collations (utf8_general_ci,COERCIBLE) and (latin1_swedish_ci,IMPLICIT) for operation 'find_in_set'
最佳答案
您应该更改表格的字符集/排序规则。当您尝试使用 UNICODE (UTF8) 字符串过滤时,您有一个以 ASCII 格式存储数据的表。
看看this documentation了解这件事。
更改表的字符集:
ALTER TABLE dc_city CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
关于php - sql查询中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20283870/