发布于 2011-02-14 17:43:52
默认情况下,MySQL假定客户端使用latin1字符集。如果在PHP脚本中使用UTF-8,那么这个假设是错误的。您需要通过在数据库连接打开后发出以下MySQL语句来指定您正在使用UTF-8:
SET NAMES utf8则由以下SQL语句插入的数据将使用正确的字符集。这意味着您需要重新插入数据或遵循MySQL conversion procedure (请参阅最后几段)。
建议您的表也配置为以UTF-8存储数据,以避免不必要的读/写字符集转换。不过,这不是必需的。
有关更多信息,请访问MySQL documentation。具体地说,Connection Character Sets and Collations。
发布于 2011-02-14 17:54:31
UTF 8首先,您似乎要将-8数据存储在不同编码的表中。MySQL将尝试并处理,但副作用如您所见-数据库中的数据将看起来“奇怪”。在创建表时,您需要指定字符编码-最好是UTF-8。对于现有的表,您将需要转换数据。
utf8_general_ci应该是您要查找的排序规则(ci代表“大小写不敏感”)-这样您的两个字符串就会匹配。https://stackoverflow.com/questions/4990641
复制相似问题