SQL server和Python中的“ß”字符大写形式不同

2024-10-02 18:25:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个问题,该代码给了我一个问题:

SELECT ID, UPPER(ItemDescription)
FROM ItemDescriptions
WHERE ItemDescription = 'ß'
ORDER BY ItemDescription

现在这个查询仍然返回“ß”

在Python中,如果我将此字符大写,则如下所示:

'ß'.upper()

这将返回“SS”

问题是当我有一个字典,其中包含一个字符串与该字符,所以它不匹配时,我配对2。任何关于这方面的建议都将不胜感激


Tags: 代码fromidby字典orderwhere字符
2条回答

有大写字母ß吗?如果没有,你为什么要加高它?无论如何,您可以使用正则表达式只对[a-zA-Z]范围内的字符加上限,如果它超出此范围,您可以保持原样

在德语中ß是一个仅以小写形式存在的字符,因为它从未出现在单词的开头

如果一个带ß的单词大写,这会导致排版上的问题

为了解决这个问题,在Unicode中引入了大写字母ß作为U+1E9E。在其他代码页中,它不可用

但这只是印刷,杜登的官方大写字母是SS,而在最新版本中,不再禁止使用大写字母ß。DIN标准将SS定义为ß的大写字母

因此Python的upper()的结果是正确的

这就是为什么在比较之前应该使用lower()而不是upper()来规范化字符串的原因之一

相关问题 更多 >