summaryrefslogtreecommitdiff
path: root/lib/exirc/utils.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/exirc/utils.ex')
-rw-r--r--lib/exirc/utils.ex8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/exirc/utils.ex b/lib/exirc/utils.ex
index 2573cc3..46cba11 100644
--- a/lib/exirc/utils.ex
+++ b/lib/exirc/utils.ex
@@ -76,7 +76,13 @@ defmodule ExIrc.Utils do
|> Enum.filter(fn arg -> arg != [] end)
|> Enum.map(&trim_crlf/1)
|> Enum.map(&:binary.list_to_bin/1)
- |> Enum.map(&:unicode.characters_to_binary/1)
+ |> Enum.map(fn(s) ->
+ case String.valid?(s) do
+ true -> :unicode.characters_to_binary(s)
+ false -> :unicode.characters_to_binary(s, :latin1, :unicode)
+ end
+ end)
+
post_process(%{msg | args: args})
end