---
title: Internationalized resource identifiers (IRIs)
slug: cms-12/docs/internationalized-resource-identifiers-iris
docTags: 
createdAt: 2026-08-10T15:55:55.000Z
---

When creating URL segments (typically from the content name) or simple addresses, by default, Optimizely only allows characters according to [RFC 1738](http://www.faqs.org/rfcs/rfc1738.html), which allows ALPHA / DIGIT / '-'/ '\_'/ '\~' / '.'/ '$'/.

You can define a custom character set to be used. To do this, update the `UrlSegmentOptions` configuration in the IOC container. When a character set is defined that allows characters outside RFC 1738, the setting `UrlSegementOptions.SupportIriCharacters` should be set to *true* so URLs are properly encoded. Below is an example of a character set that allows Unicode characters in the letter category.

```csharp
using EPiServer.ServiceLocation;
using EPiServer.Framework.Initialization;
using EPiServer.Framework;
using EPiServer.Web;

namespace EPiServerSite {
  [ModuleDependency(typeof (EPiServer.Web.InitializationModule))]
  public class IRIConfigurationModule: IConfigurableModule {
    public void ConfigureContainer(ServiceConfigurationContext context) {
      context.Services.Configure<UrlSegmentOptions>(o => {
        o.SupportIriCharacters = true;
        o.ValidCharacters = @ "\p{L}0-9\-_~\.\$";
      });
    }
    public void Initialize(InitializationEngine context) {}
    public void Uninitialize(InitializationEngine context) {}
  }
}
```

`UrlSegmentOptions` also exposes a `CharacterMap` property, where you can define a mapping for unsupported characters, for example, `'ö' => 'o'`.

## Internationalized domain names (IDN)

As explained in [IDN and IRI](https://www.w3.org/International/articles/idn-and-iri/), internationalized domain names are registered in Punycode format (a way of representing Unicode characters using only ASCII characters).

Internationalized domain names should be registered in Punycode format in the Optimizely Content Management System (CMS) admin view under **Manage Websites**.
