#vb.net
#vb.net
Вопрос:
Я выводю файл CSV со значением японской катаканы полуширины в кодировке SJIS. Но при открытии файла текст становится искаженным или нечитаемым, а кодировка не стала SJIS (не очень хорошо), хотя я установил ее как SJIS перед сохранением файла. Но, когда я не преобразовал его в символ полуширины. Результат был в порядке.Хорошо
Это мой код для записи файла:
For Each ikey As Integer In dicHDO.Keys
strLine = GetOutputData(dicHDO(ikey)) vbCrLf
'CSVファイル書込に使うEncoding
Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding(932)
'書き込むファイルを開く
Dim sw As System.IO.StreamWriter = New System.IO.StreamWriter(strFileName, True, enc)
sw.Write(strLine)
'閉じる
If sw IsNot Nothing Then
sw.Close()
End If
Next
Private Function GetOutputData(tmpHDO() As String) As String
Dim st As String = ""
Try
For i = 0 To tmpHDO.Count - 1
If st = "" Then
st = tmpHDO(i)
Else
st = st "," tmpHDO(i)
End If
Next
Return st
Catch ex As Exception
Throw ex
End Try
End Function
Комментарии:
1. Отсутствует ссылка на imgae? Еще лучше, отредактируйте вопрос и добавьте его в код, генерирующий код вашего файла
2. @Hursey Привет, уже отредактировал мой пост. Извините, что я впервые публикую здесь. В любом случае, спасибо
3. Вы пробовали
Encoding.UTF8
вместо этого? Таким образом, системе легче найти запасной шрифт для представления этих символов. Кстати, вы также должны показать, чтоGetOutputData()
делает, поскольку это то, что генерирует выходную строку.4. привет @Jimi, уже вставил функцию GetOutputData(). Извините, я уже пробовал кодирование. UTF8, но клиент хочет использовать кодировку типа SJIS.
5. Да, но с этим проблем нет. Я предложил использовать UTF8, потому что это кодировка по умолчанию при сохранении файлов в Windows. Проблема возникает, когда вы используете две разные кодировки для записи в один и тот же файл. Если выходной файл уже был сгенерирован обычными средствами, вы, вероятно, создали кодировку UTF8 (или. По умолчанию — локальная кодировка, в зависимости от метода, используемого для создания файла) закодированный файл. После этого вы можете использовать только эту кодировку для записи в этот файл. Если вы используете другую кодировку, вы получаете искаженный текст -> здесь вы добавляете текст в файл.