title: Best practices for renaming files created on Unix which have special characters in Windows?
body: <p>I am transferring files on a Unix server to Windows clients. If the filename contains a Windows-special character, such as <code>"</code>, I get the following error message, of course: <a href="http://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/1bad5853-fca3-4074-ba2f-6f8d7009968d/the-filenamedirectory-name-or-volume-label-syntax-is-incorrect" rel="nofollow"><code>The filename, directory name, or volume label syntax is incorrect</code></a>. So I need to choose a different filename.</p>
  
  <p>Are there any conventions or "best practices" for renaming the files so that I filter out the special characters? At the moment I would replace them with underscores or percent-encoded characters, but I'd like to see if I would do better to try something else.</p>
  
  <p><em>A side note: I am using Java, so if there are built-in or third-party utilities (of which I am not aware) for solving this problem, references to them would be fantastic. But an agnostic solution is fine.</em></p>