From ade34b2bf3e33071d8fd80b80870c85065df1c51 Mon Sep 17 00:00:00 2001 From: lin Date: Wed, 15 Feb 2023 00:30:18 +0800 Subject: [PATCH] add utf-8 support to example file_server --- examples/file_server/priv/中文.html | 8 ++++++++ examples/file_server/priv/中文/中文.html | 8 ++++++++ examples/file_server/src/directory_h.erl | 10 +++++++--- 3 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 examples/file_server/priv/中文.html create mode 100644 examples/file_server/priv/中文/中文.html diff --git a/examples/file_server/priv/中文.html b/examples/file_server/priv/中文.html new file mode 100644 index 00000000..d3711818 --- /dev/null +++ b/examples/file_server/priv/中文.html @@ -0,0 +1,8 @@ + + + + + + 你好! + + diff --git a/examples/file_server/priv/中文/中文.html b/examples/file_server/priv/中文/中文.html new file mode 100644 index 00000000..d3711818 --- /dev/null +++ b/examples/file_server/priv/中文/中文.html @@ -0,0 +1,8 @@ + + + + + + 你好! + + diff --git a/examples/file_server/src/directory_h.erl b/examples/file_server/src/directory_h.erl index 66e1466b..16086246 100644 --- a/examples/file_server/src/directory_h.erl +++ b/examples/file_server/src/directory_h.erl @@ -32,12 +32,12 @@ content_types_provided(Req, State) -> ], Req, State}. list_json(Req, {Path, Fs}) -> - Files = [ <<(list_to_binary(F))/binary>> || F <- Fs ], + Files = [ <<(unicode_to_iolist(F))/binary>> || F <- Fs ], {jsx:encode(Files), Req, Path}. list_html(Req, {Path, Fs}) -> - Body = [[ links(Path, F) || F <- [".."|Fs] ]], - HTML = [<<"Index", + Body = [[ links(Path, unicode_to_iolist(F)) || F <- [".."|Fs] ]], + HTML = [<<"Index", "">>, Body, <<"\n">>], {HTML, Req, Path}. @@ -51,3 +51,7 @@ links(<<>>, File) -> ["", File, "
\n"]; links(Prefix, File) -> ["", File, "
\n"]. + + +unicode_to_iolist(UniString) -> + binary_to_list(unicode:characters_to_binary(UniString)).