gpt4 book ai didi

vb.net - 为什么 '?' 在打印中文文本时显示为输出

转载 作者:行者123 更新时间:2023-12-04 02:41:51 27 4
gpt4 key购买 nike

我一直在尝试将一些中文文本打印到 excel 文件中。当我输入一些通用英文文本时,它的打印正确。但是当我尝试输入一些中文文本时,它会打印'?'在文件中。

请让我知道下面的代码有什么问题

Public WithEvents cmnSaveSave As System.Windows.Forms.SaveFileDialog
Dim PANEL_DETAILS_COL1 As String = "完成的信息"
Dim FileNum as Integer

cmnSaveSave.Filter = I18N(CStr(63), "Excel Documents(*.Xls)|*.Xls")
Dim myDlgResult As System.Windows.Forms.DialogResult
myDlgResult = cmnSaveSave.ShowDialog() '

cmnSaveSave.FileName = "c:\"
FileOpen(FileNum, cmnSaveSave.FileName, OpenMode.Output)
FileNum = FreeFile()

PrintLine(FileNum, PANEL_DETAILS_COL1)

最佳答案

   PrintLine(FileNum,  PANEL_DETAILS_COL1)

FileOpen 和 PrintLine 是古老的 VB 子例程,最后一次在 VB6 中使用。它们仅包含在 VB.NET 中以帮助移植旧代码。他们使用 Encoding.Default 对文本进行编码,这将产生 ?世界上大多数机器上都有问号。

您需要升级此代码,改用 StreamWriter 类。默认使用utf-8编码,汉字无问题,不依赖机器配置。

Using sw = new StreamWriter(cmnSaveSave.FileName)
sw.WriteLine(PANEL_DETAILS_COL1)
End Using

关于vb.net - 为什么 '?' 在打印中文文本时显示为输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19756802/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com