处理丹麦特殊字符

时间:2013-08-22 13:53:22

标签: php mysql special-characters

我正在尝试解析一个字符串,将其拆分为非字母或数字

$parse_query_arguments = preg_split("/[^a-z0-9]+/i", 'København');

并构造一个mysql查询。 即使我跳过preg_split并尝试直接输入字符串,它也会将其分成2个不同的字符串,'K'和'benhavn'。

我该如何处理这些问题?

2 个答案:

答案 0 :(得分:2)

如果你使用像a-z这样的文字字符,那么它将不会与重音字符匹配。您可能希望使用各种character classes来进行更多通用匹配:

/[[:alpha:][:digit]]/

[:alpha:]集的范围比a-z宽得多。请记住,字符匹配是根据字符代码完成的,a-z按字面顺序排列az之间的字符索引。像ø这样的字符在这个范围之外,即使它们按字母顺序排在它之间。

计算机以ASCII-abetical(UNICODEical?)顺序工作。

答案 1 :(得分:1)

这可能有助于解释正则表达式中发生的事情... Regex and Unicode

您可以按照question

中的说明尝试\p{L}之类的内容