0
我在搜索MySQL数据库时遇到问题。数据库归类为utf8_general_ci
,表格归类为latin1_swedish_ci
。我的问题是这样的:无法正确搜索数据库'
用户条目存储为(假的隐私名称)T'quila Smith
,真实姓名是T'quila Smith
。
我的web应用程序需要能够按名称正确搜索该用户,但搜索的名称为T'quila
,而不是T'quila
。我试过使用$student_name = str_replace("'", "'", $student_name);
,它(当用echo进行测试时)打印出T'quila
。但是,数据库无法通过该搜索在数据库中找到此用户。
任何人都可以提供一些协助吗?我一直在为可能做到这一点而感到茫然。我研究过字符集(我认为这可能是问题),但我似乎无法得到这个工作。非常感谢谁能帮助我!
您说史密斯先生的名字以实际形式存储在表中(与'相比,不是撇号)。你怎么知道?如果你搜索'WHERE NAME LIKE'%39%',会发生什么?当你搜索'WHERE NAME LIKE'%\'%''时会发生什么? '史密斯'%'如何说'?史密斯先生的名字在任何这些情况下都会弹出吗?注意:我并不是建议您在制作中使用这种搜索,而只是为了确保您知道名称中的撇号如何存储。这些爱尔兰风格的名字是一个臭名昭着的痛苦,在脖子上得到正确的。祝你好运。 –
感谢Ollie。这让我更接近获得正确的结果。我认为我现在需要的只是一段时间来修补这个应用程序,我将能够得到它。谢谢你的帮助! – mrinehart93