[`:mode => "rb"` means](http://ruby-doc.org/core-1.9.3/IO.html):

> "r" Read-only, starts at beginning of file  (default mode).
> "b" Binary file mode (may appear with any of the key letters listed above). Suppresses EOL <-> CRLF conversion on Windows. And sets external encoding to ASCII-8BIT unless explicitly specified.

`"rb"` mode was added [here](https://github.com/leereilly/swot/commit/1aac455a1353f597b4aa0ed8ded42d9c824c580b#diff-b5e25fdb28d8b02370ea546e8c2d032cR175).

With external encoding set to ASCII-8BIT, ß encodes as it's [UTF-8 literal](http://www.utf8-chartable.de/unicode-utf8-table.pl?start=128&number=128&names=-&utf8=string-literal).

> U+00DF	ß	\xc3\x9f

```ruby
>> school = File.read("/Users/simeon/Projects/swot/lib/domains/at/fadi", :mode => "rb").strip
=> "BRG Fadingerstra\xC3\x9Fe Linz, Austria"
>> school.encoding
=> #<Encoding:ASCII-8BIT>
```

To suppress Windows conversion and get the correct encoding, we should set the `:external_encoding` option.

```ruby
>> school = File.read("/Users/simeon/Projects/swot/lib/domains/at/fadi", :mode => "rb", :external_encoding => "UTF-8").strip
=> "BRG Fadingerstraße Linz, Austria"
>> school.encoding
=> #<Encoding:UTF-8>
```

Alternatively, `File.read` defaults to mode `"r"` and `Encoding.default_external`.

```ruby
>> Encoding.default_external
=> #<Encoding:UTF-8>
>> school = File.read("/Users/simeon/Projects/swot/lib/domains/at/fadi").strip
=> "BRG Fadingerstraße Linz, Austria"
>> school.encoding
=> #<Encoding:UTF-8>
```

Thoughts?

Either way, we can add a test. :smile: