Php Symfony2路由要求:如何启用UTF-8模式?

Php Symfony2路由要求:如何启用UTF-8模式?,php,regex,symfony,utf-8,url-routing,Php,Regex,Symfony,Utf 8,Url Routing,我想使用以下正则表达式作为symfony2路由的要求: /^[ \x{00C0}-\x{01FF}a-zA-Z'\-]+$/u 这里的特殊之处是启用utf8模式,并在末尾使用u形修饰符。如何将此/u传递到symfony routing.yml的需求部分 我们当前的routing.yml如下所示: search_by_name: path: /search/name/{name}-4/{page}/{limit} defaults: { _controller: Sear

我想使用以下正则表达式作为symfony2路由的要求:

/^[ \x{00C0}-\x{01FF}a-zA-Z'\-]+$/u
这里的特殊之处是启用utf8模式,并在末尾使用u形修饰符。如何将此/u传递到symfony routing.yml的需求部分

我们当前的routing.yml如下所示:

search_by_name:
    path:     /search/name/{name}-4/{page}/{limit}
    defaults: { _controller: SearchBundle:SearchByName:index, page: 0, limit: 8 }
    requirements:
        name: "[äüößÄÖÜ´\"`èéa-zA-Z\-]+"
现在我们要应用上面提到的模式:

    requirements:
        name: "[ \x{00C0}-\x{01FF}a-zA-Z'\-]+"  <-- "u" is missing
要求:

名称:“[\x{00C0}-\x{01FF}a-zA-Z'\-]+”Symfony路由组件不完全支持Unicode;基本上是因为它在内部不使用多字节安全字符串函数。使用此类标志时可能会出现意外问题


组件中Unicode支持的进展在以下问题中进行了跟踪:

尝试添加
(*UTF)(*UCP)
在模式的开头。在您看来,除了当前实现之外,最好的解决方案是什么?在web服务器路由匹配中使用正则表达式,或者通过实现customer UrlMatcher并使其覆盖默认值?