php - Mysql数据库整理与捷克符号

标签 php mysql sql encoding

我需要按标题从数据库中搜索一些行。问题在于捷克变音符号: 在 phpMyAdmin 的行标题中显示如下:

Černé kouřovody 2MM

在php中,我调用searching query的默认字符串是这样写的:

Černé kouřovody 2MM

我不知道,如何通过这个(ÄŒerné kouÅ™ovody 2MM)标题找出带有这个(Černé kouřovody 2MM)标题的行

这是我对数据库的查询:

SELECT * FROM categories WHERE LOWER(title) LIKE LOWER("Černé kouřovody 2MM") COLLATE utf8_bin

非常感谢您的帮助

最佳答案

有多种变体可以解决这个问题。就个人而言,我使用 base64 encoding .我在插入数据库之前对其进行编码,然后在从数据库中提取时进行解码。您可以通过在数据库中设置适当的排序规则来避免这种情况,例如捷克排序规则。

如果你使用base64,你可以使用任何字符而不用担心排序规则,但它会导致一些数据开销。我会用它。

那两个应该没问题,因为我现在得跑了:P

关于php - Mysql数据库整理与捷克符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26082177/

相关文章:

mysql - 如何在mySQL中查询两天之间的日期字段

给定多条记录根据不同的最大值取最大值的SQL查询

sql - Elasticsearch 通过两个字段之一进行匹配

c# - 如何向存储过程声明变量

php - Ubuntu + Lampp 和 CakePHP?

php - javascript或php数组交差法

MySQL 查看列为 NULL 的位置

php - 在特定时间戳更新信息

php - 每当我将数据插入数据库时​​,我都会看到需要插入数据的空格

c# - MySql.Data.MySqlClient.MySqlException : “The host localhost does not support SSL connections.”