相关疑难解决方法(0)

UTF-8:一般?滨?Unicode的?

我试图找出我应该用于各种类型数据的排序规则.我将存储的100%内容是用户提交的.

我的理解是我应该使用UTF-8通用CI(Case-Insensitive)而不是UTF-8 Binary.但是,我无法找到UTF-8 General CI和UTF-8 Unicode CI之间的区别.

  1. 我应该将用户提交的内容存储在UTF-8 General或UTF-8 Unicode CI列中吗?
  2. UTF-8二进制适用于哪种类型的数据?

mysql collation utf-8

271
推荐指数
5
解决办法
16万
查看次数

MySQL将ÅÄÖ视为AAO?

这两个查询给了我完全相同的结果:

select * from topics where name='Harligt';
select * from topics where name='Härligt';
Run Code Online (Sandbox Code Playgroud)

这怎么可能?看起来像mysql在搜索时将åäö翻译成aao.有什么办法可以解决这个问题吗?

据我所知,我到处都使用utf-8编码.终端和php都会出现同样的问题.

mysql unicode encoding collation

31
推荐指数
2
解决办法
1万
查看次数

什么是德语最好的MySQL排序规则

我正在用德语建立一个网站,所以我将使用类似的字符ä, ü, ß,那么你有什么建议?

mysql encoding collation

20
推荐指数
2
解决办法
2万
查看次数

MySQL使空白很重要

显然是一个非常罕见的问题,但IMO非常讨厌和错误:MySQL中的尾随空格不用于比较:

mysql> SELECT "A" = "A ";
+------------+
| "A" = "A " |
+------------+
|          1 |
+------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

在以下情况中,这尤其成问题:

mysql> SELECT COUNT(*) FROM eq WHERE name != TRIM(name);
+------------+
| COUNT(*)   |
+------------+
|          0 |
+------------+
1 row in set (0.00 sec)

mysql> UPDATE eq SET name=TRIM(name);
Query OK, 866 row affected (0.01 sec)
Rows matched: 650907  Changed: 866  Warnings: 0
Run Code Online (Sandbox Code Playgroud)

有没有办法配置MySQL正确处理空白?

mysql

9
推荐指数
2
解决办法
2051
查看次数

MySQL:在查询中整理 - 任何副作用?

不幸的OpenCartutf8_bin,我的表格整理是无法搜索名称中带有重音的产品名称.我在谷歌搜索,发现校对必须是utf8_general_ci兼容重音和不区分大小写的搜索.

如果我在搜索查询中添加整理声明怎么办?

SELECT * 
FROM  `address` 
COLLATE utf8_general_ci
LIMIT 0 , 30
Run Code Online (Sandbox Code Playgroud)

它有任何(坏)副作用吗?我是关于索引,性能的问题?还是完全安全的?

mysql collation

9
推荐指数
1
解决办法
1万
查看次数

重新审视德语元音变音和 UTF8 排序规则

我确信这里很多人都知道,处理德语元音变音和 UTF8 排序规则至少可以说是有问题的。a = \xc3\xa4像, o = \xc3\xb6,之类的东西u = \xc3\xbc不仅能够影响结果的排序顺序,而且还能影响实际结果。这里有一个例子,清楚地展示了简单地尝试区分名词的单数和复数版本(Bademantel- 单数,Badem\xc3\xa4ntel- 复数)会如何出错。

\n\n
CREATE TABLE keywords (\n    id INT (11) PRIMARY KEY AUTO_INCREMENT,\n    keyword VARCHAR (255) NOT NULL\n) ENGINE = MyISAM DEFAULT CHARACTER\nSET = utf8 COLLATE = utf8_unicode_ci;\n\nINSERT INTO keywords (keyword) VALUES (\'Bademantel\'), (\'Badem\xc3\xa4ntel\');\n\nSELECT * FROM keywords WHERE keyword LIKE (\'%Badem\xc3\xa4ntel%\');\n
Run Code Online (Sandbox Code Playgroud)\n\n

结果应该是

\n\n
+----+------------+\n| id | keyword    |\n+----+------------+\n|  1 | Badem\xc3\xa4ntel |\n+----+------------+\n
Run Code Online (Sandbox Code Playgroud)\n\n

utf8_unicode_ci输出是

\n\n
+----+------------+\n| id | …
Run Code Online (Sandbox Code Playgroud)

mysql collation diacritics

5
推荐指数
1
解决办法
3234
查看次数

标签 统计

mysql ×6

collation ×5

encoding ×2

diacritics ×1

unicode ×1

utf-8 ×1