title: Nginx - files with umlauts as ä ö ü are not shown in the browser
body: <p>I'm using Linux Debian WheezY with PHP 5.5.1 and Nginx 1.6.2 and search for a solution to open files with german umlauts as, for example, vögel.jpg or files in directories with german umlauts, but it appears only the error 404 Not Found nginx/1.6.2.</p>
  
  <p>If I type v%f6gel.jpg with f6 (ö ISO-8859-1 and ascii) instead of vögel.jpg it works and the file is shown in the Browserwindow.</p>
  
  <p>If I type v%C3%B6gel.jpg with %C3%B6 (ö UTF-8) instead of vögel.jpg the filename is set back in the url field to vögel.jpg and nothing is shown.</p>
  
  <p>My Nginx settings are:</p>
  
  <pre><code>source_charset utf-8;
  charset utf-8;
  override_charset on;
  </code></pre>
  
  <p>charset and source_charset are determined according to the <a href="http://nginx.org/en/docs/http/ngx_http_charset_module.html" rel="nofollow">Nginx homepage</a> to add the charset utf-8 to the “Content-Type” response header, however, I don't know if for jpg files is used a response header.</p>
  
  <p>If is used ascii or ISO-8859-1 or other charsets instead of utf-8 the problem stays the same:</p>
  
  <pre><code>source_charset iso-8859-1;
  charset iso-8859-1;
  
  source_charset utf-8;
  charset iso-8859-1;
  </code></pre>
  
  <p>Also if are included the nginx <a href="http://nginx.org/en/docs/http/ngx_http_charset_module.html#charset_map" rel="nofollow">charset maps</a> nothing changes:</p>
  
  <pre><code>include koi-utf;
  include koi-win;
  include win-utf;
  </code></pre>
  
  <p>Just so this seemingly not takes affect:</p>
  
  <pre><code>source_charset ascii;
  charset utf-8;
  override_charset on;
  charset_map ascii utf-8 {
      f6  c3b6;
  }
  </code></pre>
  
  <p>or</p>
  
  <pre><code>charset_map iso-8859-1 utf-8 {
      f6  c3b6;
  }
  </code></pre>
  
  <p>or</p>
  
  <pre><code>charset_map utf-8 ascii {
      c3b6    f6;
  }
  </code></pre>
  
  <p>nginx error: invalid value "c3b6" </p>
  
  <p>or</p>
  
  <pre><code>charset_map utf-8 iso-8859-1 {
      c3b6    f6;
  }
  </code></pre>
  
  <p>nginx error: invalid value "c3b6" </p>
  
  <p>My nginx fastcgi settings</p>
  
  <pre><code>location ~ \.php$ {
  
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  try_files $uri $uri/ =404;
  
  fastcgi_pass unix:/var/run/php5-fpm.sock;
  fastcgi_index index.php;
  include fastcgi_params;
  }
  </code></pre>
  
  <p>Whithout fastcgi also not changes.</p>
  
  <p>According to PHP with echo mb_detect_encoding($filename); the jpg file encoding is ascii, but if I change it to utf-8, the jpg files can't be opened in the browser and look like this: vÃƒÂ¶gel.jpg</p>
  
  <p>Everything stays always the same even without nginx charsets. Does anyone know what could be the solution for this problem, or is it with nginx not possible at all to use umlauts in filenames? Many thanks</p>