World is now on Opti ID! Learn more


Sep 22, 2011
  2674
(0 votes)

Mapping a folder with non ascii characters with EPiServer's VPPs

Just a quick tips to you out there that aren't english or for some odd reason have folders that have non ascii characters in physical folder names, i.e. "c:\files\Földer". You might have tried to mapp it to a VPP before and got a error about non compatible characters in your episerver.config. It may look something like this:


System.TypeInitializationException: Ett undantagsfel uppstod för typinitieraren för EPiServer.DataFactory. ---> System.Configuration.ConfigurationErrorsException: Det finns ett ogiltigt tecken i den givna kodningen. Rad 19, position 180. (C:\EPiServer\Sites\World\episerver.config line 19) ---> System.Xml.XmlException: Det finns ett ogiltigt tecken i den givna kodningen. Rad 19, position 180.
vid System.Xml.XmlTextReaderImpl.Throw(Exception e)
vid System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
vid System.Xml.XmlTextReaderImpl.Throw(Int32 pos, String res)
vid System.Xml.XmlTextReaderImpl.InvalidCharRecovery(Int32& bytesCount, Int32& charsCount)
vid System.Xml.XmlTextReaderImpl.GetChars(Int32 maxCharsCount)
vid System.Xml.XmlTextReaderImpl.ReadData()
vid System.Xml.XmlTextReaderImpl.ParseAttributeValueSlow(Int32 curPos, Char quoteChar, NodeData attr)
vid System.Xml.XmlTextReaderImpl.ParseAttributes()
vid System.Xml.XmlTextReaderImpl.ParseElement()
vid System.Xml.XmlTextReaderImpl.ParseElementContent()
vid System.Xml.XmlTextReaderImpl.Read()
vid System.Xml.XmlTextReader.Read()
vid System.Configuration.XmlUtil.CopyXmlNode(XmlUtilWriter utilWriter)
vid System.Configuration.XmlUtil.CopyElement(XmlUtilWriter utilWriter)
vid System.Configuration.XmlUtil.CopySection()
vid System.Configuration.BaseConfigurationRecord.LoadConfigSource(String name, SectionXmlInfo sectionXmlInfo)
vid System.Configuration.BaseConfigurationRecord.GetSectionXmlReader(String[] keys, SectionInput input)
--- Slut på stackspårning för interna undantag ---
vid System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult)
vid System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject)
vid System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)
vid System.Configuration.BaseConfigurationRecord.GetSection(String configKey, Boolean getLkg, Boolean checkPermission)
vid System.Configuration.Configuration.GetSection(String sectionName)
vid EPiServer.Configuration.EPiServerSection.get_Instance()
 vid EPiServer.DataFactory..cctor()

 

To get around this problem can encode your path so it reads c:\files\Földer and put that as your physicalPath in the VPP configuration (episerver.config). I used http://coderstoolbox.net/string/ for this.

OR like Peter Suneson figured out just resave the episerver.config as utf-8.

Sep 22, 2011

Comments

Please login to comment.
Latest blogs
Make Global Assets Site- and Language-Aware at Indexing Time

I had a support case the other day with a question around search on global assets on a multisite. This is the result of that investigation. This co...

dada | Jun 26, 2025

The remote server returned an error: (400) Bad Request – when configuring Azure Storage for an older Optimizely CMS site

How to fix a strange issue that occurred when I moved editor-uploaded files for some old Optimizely CMS 11 solutions to Azure Storage.

Tomas Hensrud Gulla | Jun 26, 2025 |

Enable Opal AI for your Optimizely products

Learn how to enable Opal AI, and meet your infinite workforce.

Tomas Hensrud Gulla | Jun 25, 2025 |

Deploying to Optimizely Frontend Hosting: A Practical Guide

Optimizely Frontend Hosting is a cloud-based solution for deploying headless frontend applications - currently supporting only Next.js projects. It...

Szymon Uryga | Jun 25, 2025

World on Opti ID

We're excited to announce that world.optimizely.com is now integrated with Opti ID! What does this mean for you? New Users:  You can now log in wit...

Patrick Lam | Jun 22, 2025

Avoid Scandinavian Letters in File Names in Optimizely CMS

Discover how Scandinavian letters in file names can break media in Optimizely CMS—and learn a simple code fix to automatically sanitize uploads for...

Henning Sjørbotten | Jun 19, 2025 |