---
layout: post
title: "Subsonic, FreeBSD 10, and UTF-8"
date: 2015-07-30 15:00:00 +0200
comments: true
categories: 
---

In the context of
[upgrading to FreeBSD 10]({% post_url 2015-02-18-upgrading-to-freebsd-10-1-release %}),
I reinstalled the [Subsonic media server](http://www.subsonic.org/) from ports.

Servlet container
=================

It turns out that using Jetty as the underlying servlet container would not work:
I would get an obscure Java exception during various operations:

```
Message	/WEB-INF/jsp/settingsHeader.jsp(12,0) PWC6340: According to the TLD, rtexprvalue is true, and deferred-value is specified for the attribute items of the tag handler org.apache.taglibs.standard.tag.rt.core.ForTokensTag, but the argument for the setter method is not a java.lang.Object
```

Switching to Tomcat 8 worked.

Changing filesystem charset to UTF-8
====================================

I had been using ISO-8859-15 filenames for ever. As part of the OS ugprade,
I decided it was more than time to switch the whole system to UTF-8. (One
specific issue that prompted this was the fact that GDM now seems to not
support ISO 8859-15 GECOS user names anymore).

In order to have Subsonic properly handle file and directory names encoded
in UTF-8, I had to set LANG for it:

```plain /etc/rc.conf.d/tomcat8
export LANG=fr_FR.UTF-8
```

*and* to re-create the database from scratch (remove everything from
`/var/subsonic/db/` *except* `subsonic.script`).