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