Switching to Unicode

For an existing prod instance in Linux/PostgreSQL, the steps for switching to unicode are as follows:

  1. Stop the processes writing to the database:

    su - neolane
    nlserver shutdown
    
  2. Dump the database:

    su - postgres
    pg_dump mydatabase > mydatabase.sql
    
  3. Create a Unicode database:

    createdb -E UNICODE mydatabase_unicode
    
  4. Restore the database:

    psql mydatabase_unicode < mydatabase.sql
    
  5. Update the option indicating that the database is Unicode:

    psql mydatabase_unicode
    update XtkOption set sStringValue = 'u'||sStringValue where sName='XtkDatabaseId' and sStringValue not like 'u%';
    
  6. On the tracking servers:

    su - neolane
    cd nl6/conf
    vi config-prod.xml
    

    Add the u character in front of the value relating to the database identifier (databaseId):

    <web>
     <redirection databaseId="u7F0000010554364C" trackingPassword="myPassword="/>
    </web>
    
  7. On servers calling the database:

    su - neolane
    cd nl6/conf
    vi config-prod.xml
    

    Modify the database reference:

    <dataSource name="default">
     <dbcnx encrypted="1" 
     login="<dbuser>:<base_unicode>" password="xxxx="
     provider="postgresql" server="yyyy"/>
    </dataSource>
    
  8. Reboot all the machines:

    /etc/init.d/apache stop
    /etc/init.d/nlserver6 stop
    /etc/init.d/nlserver6 start
    /etc/init.d/apache start
    
  9. Confirm the switch. To do this, connect via the Adobe Campaign console and:

    • check that the data is displayed correctly, in particular the accentuated characters:
    • launch a delivery and check that the tracking retrieval works.

On this page

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now