|
Конвертировать в UTF8
|
|||
---|---|---|---|
#18+
Нужно текст в UTF8 конвертировать. Не знаю с какой системы. Делаю на php сайт. Так как база в access'е (синхронизируется с mysql), то одну страницу php'шного кода переписал в VB6 чтоб сгенерировать готовый код html, который является динамический так как берет данные с б/д, но я хочу с него сделать статическую страницу html с помощью типа своего "компилятора". Страниц много, и только по надобности я буду компилировать код в html. Когда копировал код с php в VB6 чтоб команды на бейсик, то наткнулся на текст (написан кирилицой в редакторе Dreamweaver), который в VB6 редакторе стал непонятным (два символа вместо одного). Решил не обращать на это внимания и программный комментарий + текст для печати в html переписал еще раз на кирилицу. Теперь когда программа готова и может генерировать страницу, я понял что проблемы с кодировкой. Если убрать с HTML заглавие где charset=utf-8, то страница показывается хорошо. Код: vbnet 1.
Я бы мог остаться на этой кодировке, но база данных MySQL работает на utf-8 Мне бы даже лучше было остаться на той системе, а то в самом начале нужно прописывать в PHP mysql_query("SET NAMES 'utf8'"); Код: php 1. 2. 3. 4. 5.
Если этого не сделать, то при сохранении любого текста в кирилицу через HTML в базе данных MySQL не отображается кирилица а в два раза больше эроглифов. Я пробовал и charset менять. Ничего не помогло и создавал новую б/д с CP.. кодировкой. Пока не прописал код mysql_query("SET NAMES 'utf8'"). А на форуме ответили типа ничего страшного, много времени не потратит это объявления mysql_query("SET NAMES 'utf8'");. Вот такой сюжет Пробовать долбить кодировку на MySQL или искать для VB6 функцию конвертации в UTF-8 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2013, 17:13 |
|
Конвертировать в UTF8
|
|||
---|---|---|---|
#18+
Помогите найти конвертацию кода в UTF8 наверное из (cp1251 (не знаю в кокой кодировке VB6 работает)). Удивительно что с access копированием базы на mysql никаких проблем не возникает даже если на сервере провайдера поменять кодировку. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2013, 17:47 |
|
Конвертировать в UTF8
|
|||
---|---|---|---|
#18+
Нашел Данная функция конвертирует код с CP1251 в UTF-8 прямо с переменной, без заморочек читать и сохранять в файл. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Чтоб заработала в модуле нужно объявить: Код: vbnet 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2013, 18:10 |
|
Конвертировать в UTF8
|
|||
---|---|---|---|
#18+
Для надежности дописал код Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
Придется меньше думать о длине ByVal lMaxSize As Long, а также есть моменты когда в код попали символы chr(0) в конце, так как для вывода одного символа нужно было вписать lMaxSize =3 вместо 2, для надежности 4 пишу (на 2 больше -> (Len(Tmp) + 1) * 2) иначе почему-то не работает. Так как код WinToUTF8 не мой, то с "почему-то" борюсь просто s = Left(s, Len(Tmp) * 2), так как знаю что код может увеличится в 2 раза (не больше). Работает стабильно. На больших текстах не пробовал, но строчки If Txt & "" = "" Then Exit Function использовал из-за предосторожности, так как Txt может быть Null потому как читаю с базы данных данные поля, а сама функция WinToUTF8TXT капризна из-за использования Declare Function.... которые в случай что не так вырубают VB6 полностью с процеса. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2013, 19:16 |
|
Конвертировать в UTF8
|
|||
---|---|---|---|
#18+
Андрей159, а как запускать Function WinToUTF8TXT что в Txt будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2013, 19:24 |
|
Конвертировать в UTF8
|
|||
---|---|---|---|
#18+
Катастрофа, все ты знаешь, не надо... Код: vbnet 1.
Просто если в поле PBLST_Tbl("NmRubr")=Null - вызовет ошибку. Только для этого на всякий случай (As Variant) и If Txt & "" = "" Then Exit Function (вместо isnull работает стабильно уже обсуждали) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2013, 19:39 |
|
Конвертировать в UTF8
|
|||
---|---|---|---|
#18+
Можно и в Txt (ByRef) возвращать, но уже комарит что-то делать, особенно если часто выкидывает из процесса и все наново... Пробовал так WinToUTF8(Tmp, (Len(Tmp) + 1) * 2) - выкинуло. Не знаю, может текст был длинный, не разбирался. По этому расписал. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2013, 19:43 |
|
|
start [/forum/topic.php?fid=60&fpage=52&tid=2156735]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
41ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 270ms |
total: | 415ms |
0 / 0 |