【发布时间】:2013-05-20 00:00:32
【问题描述】:
我有一个登录屏幕,可以根据 MySQL 数据库检查输入的用户名和密码。 我的问题是它不能识别像“ÅÄÖ”这样的瑞典字符。
例如,密码“lösenord”在数据库中但不被接受,但“losenord”却是。
数据库具有“utf8_general_ci”连接排序规则,我在 index.html 中将字符集设置为 UTF-8,但在我的 php 脚本中没有。 我已经阅读了解决此类 UTF 8 问题的一百万种不同方法,但我无法让它发挥作用。
如果有人至少可以为我指明正确的方向,我将不胜感激。 我是否需要对每个 mysql 查询进行编码,设置一些 META 标记?
干杯
【问题讨论】:
-
您的行是否也使用
utf8_general_ci作为字符集? -
这是一篇关于该主题的非常完整的文章:kunststube.net/frontback,以及 2 个可能有帮助的 SO 问题:stackoverflow.com/questions/8906813/… 和 stackoverflow.com/questions/1294117/…
-
非常相关但不直接:您不应该在数据库中存储明文密码...!?!
-
我的行使用相同的字符集。我打算稍后在密码上使用 MD5,我只需要先解决这个 UTF8 问题,因为我会将其他内容存储在数据库中,这些内容将是并且应该是纯文本的。不过感谢您的提醒:)
-
@Bartdude,感谢这些链接,它们非常有帮助!