问题标签 [non-ascii-characters]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 如何通过 PHP 表单使选择不区分重音?
我试图找到与我的问题相似的东西,但我总是发现相反的情况......
这是交易(非常感谢任何帮助):
我的数据库(innodb)设置为 UTF8。基本上所有内容(服务器端、客户端、数据库、连接等)都设置为 UTF8 和 UTF8 general_ci 排序规则...
我的理解是,general_ci 使其不区分大小写,但也使其不区分重音。
在 phpmyadmin 中,查询 'a' = 'á' 之类的结果为真(“1”),尝试从另一个站点的 php 表单中查询带有重音符号的名称只会导致“0”。
问题是,我如何通过 php 表单执行选择,这使得一切都变得不敏感(比如 melee = mélee、jose = JOSÉ 等)?
一切都设置为 UTF8,包括 php 标头、“SET NAMES ('utf8') 以及所有这些都设置在 my.cnf.... 我的表单标签中还有一个“accept-charset="utf-8"” ,但这就是它的工作原理:-“jose”只给了我“jose%”条目...-如果我想找到 JOSÉ,我不能简单地查询“jose”,最后一个 É“必须”就是那个带重音符号的大写字母(如 josÉ 或 JOSÉ),但如果我尝试选择“josé”...,将找不到任何内容。
它们都在 utf8_general_ci 中,“显示像 '%character%' 这样的变量”给我带来了所有 UTF8...
名称正确存储在数据库中(使用 UTF8 字符,在页面中查看时,值显示正确),我可以通过 phpmyadmin 中的 SQL 比较“a”和“Ô没有问题,它们返回 true。 ..当我使用表单和与该数据库的连接时,它就不起作用了……字母不区分大小写,对,但是重音不是(甚至不区分大小写),知道为什么吗?
我的 php 表单应该如何“发送”大小写和重音不敏感的字符串?
php - Utf8 - 如何清理这些字符串?
我用
带有“utf8_general_ci”的Mysql数据库
但我得到了这些字符串
- 马鞍俱乐部 3°
- Speciale Aldo Moro02/04/�</li>
如何清理所有这些字符串?
ruby - 红宝石和重音字符
下面的文字墙摘要:如何在 Ruby 中显示重音字符(以便它们通过 puts 等工作)?
你好!我正在为我的班级编写一个程序,它将用西班牙语显示一些句子。当我尝试在 Ruby 中使用重音字符时,它们无法正确显示(在 NetBeans 输出窗口(在 Java 中很好地显示重音字符)或命令提示符中)。
起初,我的一些代码甚至没有运行,因为我的数组中的重音字符抛出了 Ruby 中断器(我猜?)。我遇到了错误,比如 Ruby 期望有一个右括号。
但我做了一些研究,找到了一个解决方案,将以下代码行添加到我的 Ruby 文件的开头:
# coding: utf-8
在 NetBeans 中,我的程序运行与这一行无关。但是我需要添加这一行才能让我的程序在命令提示符中成功运行。(我不知道为什么。)
但是,我仍然在将字符实际显示到屏幕上时遇到问题。诸如“será”之类的词将在 NetBeans 输出窗口中显示为“seré”。在命令提示符下,它会绘制一些竖线字符(我不知道如何输入)。
做了一些更多的研究,我听说:
$KCODE = 'UTF-8'
但我对此没有任何运气。
我正在使用 Ruby 1.8 和 1.9(我在不同的机器之间来回切换)。
谢谢,德里克
java - 如何在不使用 BOM 并以非 ASCII 字符开头的情况下识别文件的不同编码?
在尝试识别没有 BOM 的文件的编码时遇到问题,特别是当文件以非 ascii 字符开头时。
我发现了以下两个关于如何识别文件编码的主题,
目前,我创建了一个类来识别文件的不同编码(例如 UTF-8、UTF-16、UTF-32、UTF-16 no BOM 等),如下所示,
}
上面的代码在所有情况下都可以正常工作,除非文件没有 BOM 并且以非 ascii 字符开头。由于在这种情况下,检查文件是否仍然是 UTF-16 而没有 BOM 的逻辑将无法正常工作,编码将默认设置为 UTF-8。
如果有一种方法可以检查没有 BOM 的文件的编码并以非 ascii 字符开头,尤其是对于 UTF-16 NO BOM 文件?
谢谢,任何想法将不胜感激。
javascript - 使用 JavaScript 执行带/不带重音字符的文本匹配
我正在使用基于 AJAX 的查找用户在文本框中搜索的名称。
我假设数据库中的所有名称都将被音译为欧洲字母(即没有西里尔文、日文、中文)。但是,名称仍将包含重音字符,例如 ç、ê 甚至 č 和 ć。
但是,像“Micic”这样的简单搜索不会匹配“Mičić” - 用户期望它会匹配。
AJAX 查找使用正则表达式来确定匹配。我已经使用此函数修改了正则表达式比较,以尝试匹配更多重音字符。但是,它有点笨拙,因为它没有考虑到所有字符。
除了这样的替换功能,还有更好的方法吗?也许是为了“deaccent”被比较的字符串?
javascript - 如何搜索忽略重音字符的字符串(例如ã = a)
我试图找到一个忽略重音的字符串,所以在我的例子中,如果我搜索avião或aviao我总是得到两个结果。这是一个启动...
python - 如何在 Python 中打印根符号?
我试过这个:
但它不适用于 Python。
有人可以告诉我如何在 python 中执行此操作吗?我需要它来展示我所做的事情。
java - 使用spring框架将重音字符存储到数据库时出现问题
我正在使用存储过程使用 Spring Framework 的存储过程类将一些数据插入 SQL 2005 DB。类声明有点像:
我正在执行 SP,例如:
现在的问题是,名称字符串包含法语中的重音字符,但是在存储时,字符串 èüÀÔàéu¨A
以扭曲的方式存储为 e O^a`e´。但如果我真的去通过 SQL 管理工作室执行 SP,它会正确保存。我不知道我哪里错了。请帮忙。
提前致谢, 纳兰