我有一个Mysql数据库(在utf8_general_ci中)并且必须查询包含特殊字符的列。问题是:包含特殊字符的查询不会检索任何结果 - 但包含这些字符的常规版本的查询会检索。
例如,如果我想查询单词“été”:
这个问题必须归功于我的编码(直接在phpMyAdmin完成时,两个查询都有效)。
我使用PDO并遵循此处的说明(http://stackoverflow.com/questions/279170/utf-8-all-the-way-through),并且在连接到数据库时,执行exec(“SET CHARACTER” SET utf8“)AND exec(”SET collation_connection ='utf8_general_ci'“)。困扰我的是,除了这个搜索查询,该网站似乎与utf8完美地兼容显示和数据库。
我以为我可以在包含特殊字符的字符串上运行transliterate_to_ascii。然而,我担心这个选项不是最理想的,特别是对于非欧洲语言。 非常感谢你的帮助!
答案 0 :(得分:0)
请在连接
后立即尝试在mysql上运行SET NAMES utf8;