diff --git a/QuickLook.Plugin/QuickLook.Plugin.MarkdownViewer/Plugin.cs b/QuickLook.Plugin/QuickLook.Plugin.MarkdownViewer/Plugin.cs
index 0db6532..a788ed5 100644
--- a/QuickLook.Plugin/QuickLook.Plugin.MarkdownViewer/Plugin.cs
+++ b/QuickLook.Plugin/QuickLook.Plugin.MarkdownViewer/Plugin.cs
@@ -19,10 +19,12 @@ using System;
using System.IO;
using System.Linq;
using System.Net;
+using System.Text;
using System.Windows;
using System.Windows.Threading;
using QuickLook.Common.Plugin;
using QuickLook.Plugin.HtmlViewer;
+using UtfUnknown;
namespace QuickLook.Plugin.MarkdownViewer
{
@@ -66,7 +68,10 @@ namespace QuickLook.Plugin.MarkdownViewer
private string GenerateMarkdownHtml(string path)
{
- var md = File.ReadAllText(path);
+ var bytes = File.ReadAllBytes(path);
+ var encoding = CharsetDetector.DetectFromBytes(bytes).Detected?.Encoding ?? Encoding.Default;
+
+ var md = encoding.GetString(bytes);
md = WebUtility.HtmlEncode(md);
var html = Resources.md2html.Replace("{{content}}", md);
diff --git a/QuickLook.Plugin/QuickLook.Plugin.MarkdownViewer/QuickLook.Plugin.MarkdownViewer.csproj b/QuickLook.Plugin/QuickLook.Plugin.MarkdownViewer/QuickLook.Plugin.MarkdownViewer.csproj
index a34f437..c3c9061 100644
--- a/QuickLook.Plugin/QuickLook.Plugin.MarkdownViewer/QuickLook.Plugin.MarkdownViewer.csproj
+++ b/QuickLook.Plugin/QuickLook.Plugin.MarkdownViewer/QuickLook.Plugin.MarkdownViewer.csproj
@@ -62,6 +62,9 @@
+
+ ..\..\packages\UTF.Unknown.2.3.0\lib\net40\UtfUnknown.dll
+
@@ -95,6 +98,7 @@
+
diff --git a/QuickLook.Plugin/QuickLook.Plugin.MarkdownViewer/packages.config b/QuickLook.Plugin/QuickLook.Plugin.MarkdownViewer/packages.config
new file mode 100644
index 0000000..08541d0
--- /dev/null
+++ b/QuickLook.Plugin/QuickLook.Plugin.MarkdownViewer/packages.config
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file