|
|
|
Текстовый файл и квадратики вместо букв
|
|||
|---|---|---|---|
|
#18+
Пытался экспортировать текстовый файл (а-2000). В получившейся таблице вместо букв квадраты (циферы нормально). Господа, как мне решить эту проблемму? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 12:47 |
|
||
|
Текстовый файл и квадратики вместо букв
|
|||
|---|---|---|---|
|
#18+
Проверь шрифт и формат текста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 13:56 |
|
||
|
Текстовый файл и квадратики вместо букв
|
|||
|---|---|---|---|
|
#18+
может с кодировкой, что нить?? вот недавно попалось под руку: '---------------------------------------------------- ' Модуль для перекодировки строковых переменных ' В. Язов начало 12.09.2001 '---------------------------------------------------- Option Explicit Public Declare Function OemToChar Lib "user32" Alias "OemToCharA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long Public Declare Function CharToOemBuff Lib "user32" Alias "CharToOemBuffA" (ByVal lpszSrc As String, ByVal lpszDst As String, ByVal cchDstLength As Long) As Long Public Const WC_COMPOSITECHECK = &H200 Public Const WC_DEFAULTCHAR = &H40 Public Const WC_DISCARDNS = &H10 Public Const WC_SEPCHARS = &H20 Public Const CP_ACP = 0 Public Const CP_OEMCP = 1 Public Const CP_MACCP = 2 Public Const CP_THREAD_ACP = 3 Public Const CP_SYMBOL = 42 Public Const CP_UTF7 = 65000 Public Const CP_UTF8 = 65001 Public Const MB_PRECOMPOSED = &H1 Public Const MB_COMPOSITE = &H2 Public Const MB_USEGLYPHCHARS = &H4 Public Const MB_ERR_INVALID_CHARS = &H8 Public Declare Function WideCharToMultiByte Lib "kernel32" _ (ByVal CodePage As Long, _ ByVal dwFlags As Long, _ ByVal lpWideCharStr As String, _ ByVal cchWideChar As Long, _ ByVal lpMultiByteStr As String, _ ByVal cchMultiByte As Long, _ ByVal lpDefaultChar As String, _ ByVal lpUsedDefaultChar As Long) As Long Public Declare Function MultiByteToWideChar Lib "kernel32" _ (ByVal CodePage As Long, _ ByVal dwFlags As Long, _ ByVal lpMultiByteStr As String, _ ByVal cchMultiByte As Long, _ ByVal lpWideCharStr As String, _ ByVal cchWideChar As Long) As Long '======================================================= ' Publi Function '======================================================= '----------- Dos to Win ---------------------------- Public Function DosWin(ByVal sourcestring As String) As String Dim code As Long DosWin = Space$(Len(sourcestring)) 'получаем перекодированную строку code = OemToChar(sourcestring, DosWin) 'Собственно перекодируем End Function '----------- Win to Dos ---------------------------- Public Function WinDos(ByVal sourcestring As String) As String Dim code As Long WinDos = Space$(Len(sourcestring)) 'получаем перекодированную строку code = CharToOemBuff(sourcestring, WinDos, Len(WinDos)) 'Собственно перекодируем End Function '-------- Win в Кириллицу ---------------------- Public Function WinCyr(ByVal strSrc As String, ByVal sTipIsxodn As String) As String 'Моя вариация на тему Армена 24-9-2001 Const nTipWin As Long = 1251 'Win(Cyr) Значение исходной кодовой страницы Dim nLen As Long 'Длина строчки Dim strDst As String 'Для превода в Unicode Dim strRet As String 'Для возврата из Unicode в Win Dim nRet As Long 'Для возвращаемого кода API Dim nTipIsxodn As Long 'Значение исходной кодовой страницы nLen = Len(strSrc) strDst = String(nLen * 2, Chr(0)) strRet = String(nLen * 2, Chr(0)) Select Case UCase$(sTipIsxodn) Case "DOS" nTipIsxodn = 866 Case "ISO" nTipIsxodn = 28595 Case "KOI8-R" nTipIsxodn = 20866 Case "KOI8-RU" 'Украина nTipIsxodn = 21866 Case Else MsgBox sTipIsxodn & vbCrLf & " Неизвестная кодировка!!!" End Select nRet = MultiByteToWideChar(nTipWin, MB_PRECOMPOSED, strSrc, nLen, strDst, nLen) nRet = WideCharToMultiByte(nTipIsxodn, 0, strDst, nRet, strRet, nLen * 2, ByVal 0, 0) WinCyr = Left(strRet, nRet) End Function '-------- Кириллица в Win ---------------------- Public Function CyrWin(ByVal strSrc As String, ByVal sTipIsxodn As String) As String 'Моя вариация на тему Армена Const nTipWin As Long = 1251 'Win(Cyr) Значение исходной кодовой страницы Dim nLen As Long 'Длина строчки Dim strDst As String 'Для превода в Unicode Dim strRet As String 'Для возврата из Unicode в Win Dim nRet As Long 'Для возвращаемого кода API Dim nTipIsxodn As Long 'Значение исходной кодовой страницы nLen = Len(strSrc) strDst = String(nLen * 2, Chr(0)) strRet = String(nLen * 2, Chr(0)) Select Case UCase$(sTipIsxodn) Case "DOS" nTipIsxodn = 866 Case "ISO" nTipIsxodn = 28595 Case "KOI8-R" nTipIsxodn = 20866 Case "KOI8-RU" 'Украина nTipIsxodn = 21866 Case Else MsgBox sTipIsxodn & vbCrLf & " Неизвестная кодировка!!!" End Select nRet = MultiByteToWideChar(nTipIsxodn, MB_PRECOMPOSED, strSrc, nLen, strDst, nLen) nRet = WideCharToMultiByte(nTipWin, 0, strDst, nRet, strRet, nLen * 2, ByVal 0, 0) CyrWin = Left(strRet, nRet) End Function '---- Функция получена от Армена Мнацаканяна ------------- Public Function ConvertString(ByVal strSrc As String, ByVal nFromCP As Long, ByVal nToCP As Long) As String Dim nLen As Long Dim strDst As String Dim strRet As String Dim nRet As Long nLen = Len(strSrc) strDst = String(nLen * 2, Chr(0)) strRet = String(nLen * 2, Chr(0)) nRet = MultiByteToWideChar(nFromCP, MB_PRECOMPOSED, strSrc, nLen, strDst, nLen) nRet = WideCharToMultiByte(nToCP, 0, strDst, nRet, strRet, nLen * 2, ByVal 0, 0) ConvertString = Left(strRet, nRet) End Function ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 15:04 |
|
||
|
Текстовый файл и квадратики вместо букв
|
|||
|---|---|---|---|
|
#18+
Спасибо господа. Заметил на панели экспорта кнопку "Дополнительно" покопался немного и все экспортировалось замечательно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2003, 06:44 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32169469&tid=1681373]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 362ms |

| 0 / 0 |
