【问题标题】:Tomcat : French accents in a solaris directoryTomcat:solaris 目录中的法语口音
【发布时间】:2009-07-29 18:22:16
【问题描述】:

我们的一位客户在报纸上购买了一个广告并添加到他的 URL 中: http://www.website.com/publicité 而不是“publicite”(没有口音)...

我正在尝试在 Solaris 下创建相应的目录,但它似乎不起作用。 我抓住了“获取”请求,看起来“真实”请求是 /publicit%C3%A9 我们尝试添加一个具有该名称的目录,但它也不起作用。

知道网络如何解决这个问题吗?

我们使用 Apache 和 Tomcat 作为带有 JAVA(和 jsp)的 Web 容器

看起来它是 Solaris 服务器而不是 linux..

【问题讨论】:

    标签: tomcat solaris character-encoding diacritics


    【解决方案1】:

    也许您可以使用 Apache 的 mod_rewrite 将其更改为 publicite(无重音)?

    【讨论】:

      【解决方案2】:

      看起来请求是URL-encoded。棘手的是,它不是标准的 ASCII,所以我认为它不能被可靠地解码为正确的“é”(因为你不知道它最初是 Unicode 而不是 ASCII)。

      显然,也没有编码“é”的标准,因此对于来自两个不同客户端的相同请求,您收到的 URL 可能会有所不同。

      祝你好运。

      【讨论】:

      • 好吧,即使添加与 firefox 使用的编码名称相同的目录也不起作用。谢谢 ;)
      【解决方案3】:

      我正在尝试在linux下制作对应的目录,好像不行。

      你到底尝试了什么,它是如何失败的?

      你可以试试这个(在 bash 中):

      cd /var/www/html   ## -- Change as needed.
      dname=$(echo -en "publicit\0303\0251")
      mkdir publicite
      ln -s publicite "$dname"
      

      这是 Paul 使用 rewrite 的一个简单版本。

      顺便说一句,我刚刚创建了一个目录“publicité”,通过粘贴此页面中的文本和上面的命令没有问题。 Apache 在浏览器(Linux 和 WXP 上的 Firefox)中列出了空目录,尽管我的英文配置的 Apache 把列表中的名称弄乱了:

      Index of /xtra/publicité
      [ICO]   Name    Last modified   Size    Description
      [DIR]   Parent Directory        -
      Apache/2.2.3 (CentOS) Server at localhost Port 80
      

      我在 Apache 访问日志中看到的和你一样:"GET /xtra/publicit%c3%a9/HTTP/1.1"

      【讨论】:

      • 好吧,他们试图创建一个带有重音符号的目录。该目录已创建,但无论如何使用浏览器都会给出 404。他们还尝试制作具有不同编码名称的目录...
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-20
      • 1970-01-01
      • 2012-09-05
      • 1970-01-01
      • 1970-01-01
      • 2011-08-23
      相关资源
      最近更新 更多