![]() |
![]() |
![]() |
|
"ADODB.Connection" проблема с кодировкой | ☑ | ||
---|---|---|---|---|
0
KrutVladimir
08.06.10
✎
14:48
|
Написал обработку которая меняет информацию на сайте, но что-то с кодировкой не получается :(
если запустить ниже приведенную обработку, то в место условного «Текст 1» на сайте появляется «????? 1» Соединение = CreateObject("ADODB.Connection"); Соединение_param = "driver={MySQL ODBC 5.1 Driver}; server=192.168.37.2; uid=srv_user; pwd=159753; database=mydb;port=3306"; Соединение.open(Соединение_param); Соединение.Execute("UPDATE jos_content SET introtext='Текст 1' WHERE id=175"); Соединение.close(); Может кто-то уже сталкивался с похожей проблемой, подскажите пожалуйста |
|||
1
ДенисЧ
08.06.10
✎
14:50
|
charset=cp1251;
в строку соединения добавь... |
|||
2
KrutVladimir
08.06.10
✎
14:59
|
Соединение = CreateObject("ADODB.Connection");
Соединение_param = "driver={MySQL ODBC 5.1 Driver}; server=192.168.37.2; uid=srv_user; pwd=159753; database=mydb;port=3306; charset=cp1251"; Соединение.open(Соединение_param); Соединение.Execute("UPDATE jos_content SET introtext='Текст 1' WHERE id=175"); Соединение.close(); Добавил, но это не сработало |
|||
3
ДенисЧ
08.06.10
✎
15:01
|
ну, значит, у тебя там не 1251... Логично? :-)
ЧТо у тебя сайт за кодировку ждёт? Ту и пиши... |
|||
4
Amra
08.06.10
✎
15:02
|
Скорее всего utf8, сам бодался с полгода назад с этим.
|
|||
5
KrutVladimir
08.06.10
✎
15:07
|
utf8
Нет, не получилось Там стоит Joomla и кодировка ИМХО 1251. Я думаю может с 1С передается в ДОС кодировке, это предположение. |
|||
6
Moriarti
08.06.10
✎
15:20
|
На самом серваке русский вообще установлен?
Было что-то похожее, именно с ADODB.Connection только в MSSQL, на сервак "????" шли. |
|||
7
KrutVladimir
08.06.10
✎
15:23
|
Как проверить?
|
|||
8
KrutVladimir
08.06.10
✎
15:27
|
Получаю с сайта в нормальной кодировке (не указываю кодировку) а при посылки запроса редактирования кодировка ломается
|
|||
9
Amra
08.06.10
✎
15:33
|
Соединение.Execute("UPDATE jos_content SET introtext=Convert('Текст 1' using cp1251) WHERE id=175")
Попробуй так, суть в функции Convert - у меня так работает |
|||
10
KrutVladimir
08.06.10
✎
15:52
|
(9)
Что-то нет, не получилось. Попробую поковырять в этом направлении |
|||
11
smaharbA
08.06.10
✎
16:13
|
выполни
set names 'cp1251';... |
|||
12
Moriarti
08.06.10
✎
16:15
|
(7) Вообще туплю я.
mysql на каком серваке стоит? На линуксовом? А ты с виндовой машины из 1Сины хочешь коннектиться и контент править в mysql-ных табличках? Попробуй тогда на локальной мащине ключик [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage] "1252"="c_1251.nls" исправить и после ребута проверь. |
|||
13
Amra
08.06.10
✎
16:23
|
(11) Кстати да, у меня это тоже есть
(12) Не надо ничего подобного |
|||
14
KrutVladimir
08.06.10
✎
16:25
|
(12)
У нас уже это исправлено было ранее |
|||
15
KrutVladimir
08.06.10
✎
16:33
|
(11)
Я не совсем понял куда это вставлять, можно немного подробнее? |
|||
16
Amra
08.06.10
✎
16:41
|
Соединение.Execute("set names 'cp1251'") , потом
Соединение.Execute("UPDATE jos_content SET introtext=Convert('Текст 1' using cp1251) WHERE id=175") |
|||
17
smaharbA
08.06.10
✎
16:44
|
Соединение.Execute("set names 'cp1251';UPDATE jos_content SET introtext='Текст 1' WHERE id=175");
|
|||
18
KrutVladimir
08.06.10
✎
16:57
|
(16)(17)
Выдает ошибку: SET NAMES not allowed by driver |
|||
19
Amra
08.06.10
✎
17:02
|
Какая версия скуля стоит на твоей машине?
|
|||
20
IOL
08.06.10
✎
17:15
|
(0) посмотри что в конфиге мускула прописано, defaut_char_set и тоже самое для клиента
|
|||
21
KrutVladimir
08.06.10
✎
17:19
|
(19)
mysqld-5.0.51a-24+lenny3 |
|||
22
KrutVladimir
08.06.10
✎
17:22
|
(20)
А в каком файле defaut_char_set должен находится? Что-то не найдем |
|||
23
smaharbA
08.06.10
✎
18:03
|
SET character_set_client='cp1251';SET character_set_results='cp1251';SET character_set_connection='cp1251';...
|
|||
24
IOL
08.06.10
✎
18:54
|
в виндовой версии mysql.ini or my.ini
|
|||
25
IOL
08.06.10
✎
18:57
|
D:\AppServ\mysql\bin\my.ini DOS
#This File was made using the WinMySQLAdmin 1.3 Tool #25/8/2003 8:50:22 #Uncomment or Add only the keys that you know how works. #Read the MySQL Manual for instructions [mysqld] default-character-set=cp1251 basedir=d:/AppServ/mysql #bind-address= datadir=d:/AppServ/mysql/data #language=C:/AppServ/mysql/share/your language directory #slow query log#= #tmpdir#= #port=3306 #set-variable=key_buffer=16M [client] default-character-set=cp1251 |
|||
26
KrutVladimir
09.06.10
✎
12:52
|
Я проверил на другом сайте, все получилось!
Сайты работают на одном компьютере, разные только joomlы, мне нужно было на j1.0 а получилось на j1.5 ну и базы там отличаются скорее всего проблема в этом! Разбираться пока не буду попробую настроить для j1.5 а потом возможно и перетащу всех пользователей туда. Всем спасибо !!! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |