如何将列即时转换为 ASCII,而不保存以检查与外部 ASCII 字符串是否匹配?

2023-11-22

我有一个成员搜索功能,您可以在其中提供部分姓名,并且返回的结果应该是至少具有与该输入匹配的用户名、名字或姓氏之一的所有成员。这里的问题是有些名字有“奇怪”的字符,比如é in Renée用户不想输入奇怪的字符而是输入正常的 ASCII 替代字符e.

在 PHP 中,我使用 iconv 将输入字符串转换为 ASCII(以防万一有人输入奇怪的字符)。然而,在数据库中,我还应该将奇怪的字符转换为 ASCII(显然)以使字符串匹配。

我尝试了以下方法:

SELECT
  CONVERT(_latin1'Renée' USING ascii) t1, 
  CAST(_latin1'Renée' AS CHAR CHARACTER SET ASCII) t2;

(这是两次尝试。) 两者都不起作用。都有Ren?e作为输出。问号应该是e。如果输出就可以了Ren?ee因为我可以在转换后删除所有问号。

正如您可以想象的那样,我要查询的列是编码为 Latin1 的。

Thanks.


您不需要转换任何东西。您的要求是比较两个字符串并询问它们是否相等,忽略重音符号;数据库服务器可以使用整理为您做到这一点:

非 UCA 排序规则具有一对一的关系 从字符代码到权重的映射。 在 MySQL 中,这样的排序规则是 case 不敏感和重音不敏感。 utf8_general_ci 是一个示例:'a', 'A'、'À' 和 'á' 各有不同的含义 字符代码但都有权重 0x0041 并比较是否相等。

mysql> SET NAMES 'utf8' COLLATE 'utf8_general_ci';
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT 'a' = 'A', 'a' = 'À', 'a' = 'á';
+-----------+-----------+-----------+
| 'a' = 'A' | 'a' = 'À' | 'a' = 'á' |
+-----------+-----------+-----------+
|         1 |         1 |         1 |
+-----------+-----------+-----------+
1 row in set (0.06 sec)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将列即时转换为 ASCII,而不保存以检查与外部 ASCII 字符串是否匹配? 的相关文章

  • 如何在 codeigniter 查询中使用 FIND_IN_SET?

    array array classesID gt 6 this gt db gt select gt from this gt table name gt where array gt order by this gt order by q
  • 我可以将 MAMP (MySQL) 或 XAMPP (MySQL) 与 Ruby on Rails 3 一起使用吗?

    我可以将 MAMP MySQL 或 XAMPP MySQL 与 Ruby on Rails 3 一起使用吗 我从 MYSQL com 安装了 MySQL 但遇到了很多麻烦 所以我喜欢使用 MAMP XAMPP Mysql 有人这样做吗 另外
  • 当复选框条件更改时,如何使用ajax更新mysql数据库?

    我有一个在客户端按行显示的文章表 每篇文章都有一个唯一的 ID 并包含一个复选框以指示该文章是否被选中为收藏夹 如果它是最喜欢的 则该复选框已被选中 如果没有 则未选中 现在 如果特定于每一行的复选框条件发生变化 我需要 js 或 jque
  • 在一个后台为MYSQL的网站上集成搜索

    我有一个位置搜索website http www jammulinks com对于一个城市 我们首先收集该城市所有可能类别的数据 如学校 学院 百货商店等 并将其信息存储在单独的表中 因为每个条目除了名称 地址和电话号码外都有不同的详细信息
  • 如何将行变成列?

    我有一个数据库 其中存储分组到项目中的关键字以及与每个关键字相关的数据 然后我显示每个项目的数据网格 每个关键字一行和几列 全部从同一个表 数据 中检索 我有 4 个表 关键字 项目 group keywords 和数据 keywords
  • 如何导出带有数据的 MySQL 架构?

    我有一个完整的架构 其中有许多表 其中包含 MySQL 查询浏览器中的数据 现在我想将这个包含所有表 数据的完整数据库发送给我的同事 我怎样才能将其发送给我的同事 以便他可以将这个完整的架构放入他的 MySQL 查询浏览器中 Thanks
  • MySQL Python 关于重复键更新值

    我正在研究使用 python 将 JSON 数据上传到 MySQL 我需要在插入语句中包含 ON DUPLICATE KEY UPDATE VALUES 但在 Python 中遇到了问题 如果我运行以下代码 一切正常 import json
  • 猪的组连接等效吗?

    试图在 Pig 上完成这个任务 寻找 MySQL 的 group concat 等效项 例如 在我的表中 我有以下内容 3fields userid clickcount pagenumber 155 2 12 155 3 133 155
  • 为什么 Double 不能隐式转换为 Decimal

    我不明白十进制和双精度的转换规则 这样做是合法的 decimal dec 10 double doub double dec 然而令我困惑的是 decimal 是 16 字节的数据类型 而 double 是 8 字节 因此将 double
  • 加载数据infile,Windows和Linux的区别

    我有一个需要导入到 MySQL 表的文件 这是我的命令 LOAD DATA LOCAL INFILE C test csv INTO TABLE logs fields terminated by LINES terminated BY n
  • 如何避免情绪低落?

    我有一个实现状态模式每个状态处理从事件队列获取的事件 根据State因此类有一个纯虚方法void handleEvent const Event 事件继承基础Event类 但每个事件都包含其可以是不同类型的数据 例如 int string
  • 无法在 mysql-apt-config [Ubuntu 14.04] 中选择“确定”

    我使用的是 Ubuntu 14 04 sudo apt get update总是给我这个选项来配置 mysql apt config 我尝试选择版本 按 tab gt 在 确定 上突出显示的键 按 Enter 但没有任何反应 它再次返回并突
  • 将 unsigned char * (uint8_t *) 转换为 const char *

    我有一个带有 uint8 t 参数的函数 uint8 t ihex decode uint8 t in size t len uint8 t out uint8 t i hn ln for i 0 i lt len i 2 hn in i
  • 连接到 OpenShift (Redhat Paas) mysql 实例

    我正在尝试将我的 C 应用程序与 openshift 数据库连接 但我得到了这个例外conn Open Eccezione gt MySql Data MySqlClient MySqlException 0x80004005 Unable
  • NHibernate - 无法执行查询 - 输入字符串的格式不正确

    我已经为此摸不着头脑有一段时间了 我不知道出了什么问题 概述 我的 MySQL 数据库中有两个表 两者都正确映射到数据库 我可以加载数据 并且我能够查询一个表 但不能查询另一个表 我研究过的解决方案 表和 C 代码之间的类型转换问题 映射问
  • 无法在 Zend Framework 中回滚事务

    我在 Zend Framework 中使用以下代码进行事务 但回滚功能不起作用 数据通过 insertSome data 插入数据库 怎么了 db gt beginTransaction try model gt insertSome da
  • meta_query,如何使用关系 OR 和 AND 进行搜索?

    已解决 请参阅下面的答案 我有一个名为的自定义帖子类型BOOKS 它有几个自定义字段 名称为 TITLE AUTHOR GENRE RATING 我该如何修复我的meta query下面的代码以便仅books在自定义字段中包含搜索词 tit
  • Dapper 或 MySql 未找到包含句号“.”的存储过程。

    我有一个简单的 C 控制台 它使用 Dapper ORM 调用本地 MySql 数据库 以执行名为的存储过程users UserCreate 但是 当运行查询时 我收到一个异常 在数据库 用户 中找不到过程或函数 UserCreate Bu
  • Mysql带限制的删除语句

    我试图从表中删除行 但出现错误 DELETE FROM chat messages ORDER BY timestamp DESC LIMIT 20 50 我在 50 时收到此错误 您的 SQL 语法有错误 检查与您的 MySQL 服务器版
  • 使用用户定义函数 MySql 时出错

    您好 请帮我解决这个问题 提前致谢 我在数据库中定义了这些函数 CREATE FUNCTION levenshtein s1 VARCHAR 255 s2 VARCHAR 255 RETURNS INT DETERMINISTIC BEGI

随机推荐

  • 如何从 FirebaseRecyclerAdapter 中排除项目

    我的代码中有这个代码populateViewHolder public void populateViewHolder final CampaignHolder viewHolder final Campaign campaign fina
  • 使用 python 创建 jpeg 缩略图

    正如标题所说 我正在寻找一种将大量图像转换为不同大小的缩略图的方法 我该如何在 python 中执行此操作 See http www pythonware com products pil index htm import os sys i
  • GDB单步执行功能(下一个)似乎不起作用

    我正在尝试调试我用 C 编写的程序 这是代码 void a void b a int main b return 0 我使用以下方法编译它 g g3 O0 o cards exe cards cpp 这是我的 GDB 会话的输出 gdb b
  • BroadcastReceiver 生命周期——静态变量

    我有一个 BroadcastReceiver 类 我声明了一些静态变量 其值在 onReceive 方法中更新 据我所知 静态变量将在 onReceive 调用中保持其值 当我丢失这些值时是否有可能 比如我的类将被卸载并重置静态变量 这些基
  • 重新排序提交

    我目前正在一个分支上工作 希望将一些提交合并到其他分支中 a b c d e f g branchA o x x x x x x x x x x master x x x x x branchB 字母表示提交 并且x是不相关的提交 然而我注
  • Redbean O/RM 将“日期”存储为 varchar(255)?

    从这段代码来看 toolbox RedBean Setup kickstartDev mysql r toolbox gt getRedBean test r gt dispense test test gt nom Test 1 test
  • ODataModel 在读取中传递“expand”参数

    我想将扩展参数传递给read因为如果我像这样调用该服务 它就不起作用 oModel1 read LinesSet expand ToCells The readAPI 等待选项图作为第二个参数 我们可以使用该属性定义任何查询urlParam
  • 使用 python setup.py Egg_info 安装 scikits.audiolab 时出错

    我正在尝试使用 pip 工具安装 scikits audiolab Pip 似乎运行命令python setup py egg info来自 scikits audiolab 源目录 当这样做时 我收到此错误 Andrews MacBook
  • Cloud Run Build 期间未定义环境变量

    我使用 Google Cloud Run 来容器化 node js 应用程序 我通过以下方式将环境变量添加到谷歌云运行中本指南并期望在我的应用程序代码中使用它们 但 每当我运行构建 云运行构建 时 它都会向我显示process env NO
  • 静态指针是强指针吗?

    在 Objective C 中 我知道静态变量 应该 在程序的生命周期内保留其值 但如果它存储一个指针 它算作strong在ARC 我可以依赖它并确信该实例会never一旦我将其分配给静态变量 就从堆中退出 static ClassA sh
  • 如何从 pandas DataFrame 绘制热图

    这是我的数据框 jan f m a m j 2000 7 894737 22 387006 22 077922 14 5455 15 8038 3 33333 2001 3 578947 11 958763 28 741093 5 0541
  • Codeigniter时区mysql设置

    刚刚意识到为什么我的网站现在将所有日期时间变量显示为 1 小时 我第一次使用 Codeigniter 以前没遇到过这个问题 因此 我在主 index php 文件中包含以下代码 DEFAULT TIMEZONE Set the defaul
  • 我可以重写 Javascript Function 对象来记录所有函数调用吗?

    我可以重写 Function 对象的行为 以便可以在每次函数调用之前注入行为 然后正常进行吗 具体来说 尽管总体想法本身很有趣 我可以将每个函数调用记录到控制台 而不必到处插入 console log 语句吗 然后正常的行为还会继续吗 我确
  • Xcode 8 宏 NSLocalizedString 的不明确扩展

    我的单元测试 pch 文件中有以下内容 允许我的单元测试为本地化文件找到正确的包 并且在我升级到 Xcode8 之前这一切都工作正常 undef NSLocalizedString define NSLocalizedString key
  • 如何将Python回调传递给C#函数调用

    我正在尝试使用 python 中的 C 类 在 mono ubuntu 上使用 python net 到目前为止 我成功地用一个参数完成了一个简单的函数调用 我现在想做的是将 python 回调传递给 C 函数调用 我尝试了下面的以下变体
  • 如何从jquery中的json中获取不同的值

    我有一个 jquery json 请求 在该 json 数据中我希望能够按唯一值进行排序 所以我有 people pbid 626 birthDate 1976 02 06 name name pbid 648 birthDate 1987
  • .Net Core JWT 身份验证与自定义 API 密钥中间件

    我有一个 Net Core 2 0 应用程序 它使用 JWT 令牌来授权用户 这一切都工作正常 但我想要某种 API 密钥机制来允许其他应用程序集成 但我似乎无法让它与当前的身份验证一起工作 Code 启动 cs public void C
  • Oracle sqlldr 时间戳格式令人头疼

    我正在努力争取sqlldr将 csv 数据文件导入到我的表中 特别是时间戳字段 我的 csv 文件中的数据采用以下格式 16 NOV 09 01 57 48 001000 PM 我已经在我的控制文件中尝试了各种组合 但一直在兜圈子 我在网上
  • 如何在 Protractor 中截取整个页面的屏幕截图?

    下列的量角器 API 文档应该有一种方法可以截取整个页面的屏幕截图 而不仅仅是可见的框架 事实上这应该是默认行为 When takeScreenshot 被称为像 browser takeScreenshot then function p
  • 如何将列即时转换为 ASCII,而不保存以检查与外部 ASCII 字符串是否匹配?

    我有一个成员搜索功能 您可以在其中提供部分姓名 并且返回的结果应该是至少具有与该输入匹配的用户名 名字或姓氏之一的所有成员 这里的问题是有些名字有 奇怪 的字符 比如 in Ren e用户不想输入奇怪的字符而是输入正常的 ASCII 替代字