Encoding Fixed
This commit is contained in:
@@ -838,16 +838,16 @@ Public Module ModBase
|
|||||||
'确保目录存在
|
'确保目录存在
|
||||||
Directory.CreateDirectory(GetPathFromFullPath(FilePath))
|
Directory.CreateDirectory(GetPathFromFullPath(FilePath))
|
||||||
'写入文件
|
'写入文件
|
||||||
If File.Exists(FilePath) Then
|
If Append Then
|
||||||
'如果文件存在,刷新目前文件
|
'追加目前文件
|
||||||
Using writer As New StreamWriter(FilePath, Append, If(Encoding, GetEncoding(ReadFileBytes(FilePath))))
|
Using writer As New StreamWriter(FilePath, True, If(Encoding, GetEncoding(ReadFileBytes(FilePath))))
|
||||||
writer.Write(Text)
|
writer.Write(Text)
|
||||||
writer.Flush()
|
writer.Flush()
|
||||||
writer.Close()
|
writer.Close()
|
||||||
End Using
|
End Using
|
||||||
Else
|
Else
|
||||||
'如果文件不存在,则新建并写入
|
'直接写入字节集
|
||||||
File.WriteAllText(FilePath, Text, If(Encoding, New UTF8Encoding(False)))
|
File.WriteAllBytes(FilePath, If(Encoding Is Nothing, Encoding.UTF8.GetBytes(Text), Encoding.GetBytes(Text)))
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
''' <summary>
|
''' <summary>
|
||||||
|
|||||||
@@ -1317,14 +1317,15 @@ Retry:
|
|||||||
McLaunchLog("开始获取 Minecraft 启动参数")
|
McLaunchLog("开始获取 Minecraft 启动参数")
|
||||||
'获取基准字符串与参数信息
|
'获取基准字符串与参数信息
|
||||||
Dim Arguments As String
|
Dim Arguments As String
|
||||||
|
Arguments = If(McLaunchJavaSelected.VersionCode > 8, "-Dfile.encoding=UTF-8 -Dstdout.encoding=UTF-8 -Dstderr.encoding=UTF-8", Nothing) '#4700
|
||||||
If McVersionCurrent.JsonObject("arguments") IsNot Nothing AndAlso McVersionCurrent.JsonObject("arguments")("jvm") IsNot Nothing Then
|
If McVersionCurrent.JsonObject("arguments") IsNot Nothing AndAlso McVersionCurrent.JsonObject("arguments")("jvm") IsNot Nothing Then
|
||||||
McLaunchLog("获取新版 JVM 参数")
|
McLaunchLog("获取新版 JVM 参数")
|
||||||
Arguments = McLaunchArgumentsJvmNew(McVersionCurrent)
|
Arguments += " " & McLaunchArgumentsJvmNew(McVersionCurrent)
|
||||||
McLaunchLog("新版 JVM 参数获取成功:")
|
McLaunchLog("新版 JVM 参数获取成功:")
|
||||||
McLaunchLog(Arguments)
|
McLaunchLog(Arguments)
|
||||||
Else
|
Else
|
||||||
McLaunchLog("获取旧版 JVM 参数")
|
McLaunchLog("获取旧版 JVM 参数")
|
||||||
Arguments = McLaunchArgumentsJvmOld(McVersionCurrent)
|
Arguments += " " & McLaunchArgumentsJvmOld(McVersionCurrent)
|
||||||
McLaunchLog("旧版 JVM 参数获取成功:")
|
McLaunchLog("旧版 JVM 参数获取成功:")
|
||||||
McLaunchLog(Arguments)
|
McLaunchLog(Arguments)
|
||||||
End If
|
End If
|
||||||
@@ -2050,6 +2051,7 @@ IgnoreCustomSkin:
|
|||||||
'输出 bat
|
'输出 bat
|
||||||
Try
|
Try
|
||||||
Dim CmdString As String =
|
Dim CmdString As String =
|
||||||
|
$"{If(McLaunchJavaSelected.VersionCode > 8, "chcp 65001>nul" & vbCrLf, Nothing)}" &
|
||||||
"@echo off" & vbCrLf &
|
"@echo off" & vbCrLf &
|
||||||
"title 启动 - " & McVersionCurrent.Name & vbCrLf &
|
"title 启动 - " & McVersionCurrent.Name & vbCrLf &
|
||||||
"echo 游戏正在启动,请稍候。" & vbCrLf &
|
"echo 游戏正在启动,请稍候。" & vbCrLf &
|
||||||
@@ -2142,8 +2144,8 @@ IgnoreCustomSkin:
|
|||||||
StartInfo.EnvironmentVariables("Path") = Join(Paths.Distinct.ToList, ";")
|
StartInfo.EnvironmentVariables("Path") = Join(Paths.Distinct.ToList, ";")
|
||||||
|
|
||||||
'设置其他参数
|
'设置其他参数
|
||||||
StartInfo.StandardErrorEncoding = Encoding.UTF8
|
StartInfo.StandardErrorEncoding = If(McLaunchJavaSelected.VersionCode > 8, Encoding.UTF8, Nothing)
|
||||||
StartInfo.StandardOutputEncoding = Encoding.UTF8
|
StartInfo.StandardOutputEncoding = If(McLaunchJavaSelected.VersionCode > 8, Encoding.UTF8, Nothing)
|
||||||
StartInfo.WorkingDirectory = ShortenPath(McVersionCurrent.PathIndie)
|
StartInfo.WorkingDirectory = ShortenPath(McVersionCurrent.PathIndie)
|
||||||
StartInfo.UseShellExecute = False
|
StartInfo.UseShellExecute = False
|
||||||
StartInfo.RedirectStandardOutput = True
|
StartInfo.RedirectStandardOutput = True
|
||||||
|
|||||||
Reference in New Issue
Block a user