I have a problem with Tomcat 6.0 on Linux and I haven't been able to determine the cause or solution.

I have a shared directory on a windows system named SHAREDDIR and containing one file named "fichié.txt"
I mount this shared directory on my Linux system with the following command:
> mount -t cifs -o iocharset=utf8 //IpWindows/SHAREDDIR /home/me/mountDir/

In a standalone Java application running on my Linux system, I can create a FileInputStream from the file located in the remote directory like this:

String mountPath = "/home/me/mountDir";
File[] list = new File(mountPath).listFiles();
File file = list[0];
try {
   FileInputStream fStream = new FileInputStream(file);
}
catch (FileNotFoundException e) {
   e.printStackTrace();
}

When I execute the same code in a servlet running on the same machine, the call to FileInputStream constructor always throws a FileNotFountException because it doesn't recognize the "é" character in the path of the file. When I rename my file on my windows shared directory in "fichie.txt", the servlet is executed without any errors.

Since I don't know what the problem is I have had a hard time tracking down a solution online. I especialy take care to follow all steps described in the FAQ/CharacterEncoding parts of wiki. Here is my configuration:

I set URIEncoding in my port 8080 connector to UTF-8 (I use this port to execute my servlet)
<Connector port="8080" protocol="HTTP/1.1"
  connectionTimeout="20000"
  redirectPort="8443"
  URIEncoding="UTF-8"
  useBodyEncodingForURI="true" />

I use a filter to set the default encoding to UTF-8 and my first line of my doFilter method is
request.setCharacterEncoding("UTF-8");

I add in my servlet the set of content-type for responses to UTF-8 and my first line of my doGet method is
response.setContentType("text/html;charset=UTF-8");

My tomcat is started with CATALINA_OPTS=-Dfile.encoding=UTF-8

My servlet displays some debug traces and I verify that Servlet response getCharacterEncoding = UTF-8 and Servlet request getCharacterEncoding = UTF-8

Any idea why FileInputStream doesn't work in a servlet?

Thanks



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to