Back in April a new feature for SharePoint Online and OneDrive was announced, support for the special characters # and % in file and folder names.
This post from Bill Baer provides some background on the announcement.
As I’m writing this post in August 2017, many production Office 365 tenants have this capability. However, the thing to be aware of is that this feature is switched off by default and you need to switch it on with PowerShell. There is currently no option to enable this via the Office 365 administration screens.
In order to run this script you will need the SharePoint Online Management Shell installed.
Below is the complete PowerShell script that can be used to enable this feature. You should run this script with an account that has tenant administrator permissions. (you will receive a login prompt at the first line of the script)
Connect-SPOService -Url “https://yourtenant-admin.sharepoint.com”;
Set-SPOTenant -SpecialCharactersStateInFileFolderNames Allowed;
After running the command it will take some time before it is applied to all site collections. Try waiting a couple hours (or overnight) and you’ll be able to upload and create files with those special characters.
One thing to note if you or your tenant users are synching files using the OneDrive sync client. The ‘old’ client does not support special characters, the new sync client will. So that’s another reason to upgrade if you haven’t done so already.