Немного быдлокода
Sep. 23rd, 2013 06:53 pmТочнее не совсем быдлокода, а опыта скрещивания сайта на линухе с БД на виндах.Приспичило мне тут на днях перетащить один сайтец с винды на линух. Я вообще в линухах не очень, точнее никак ваще, но сисадмины для этого есть, поставили там чота, дали какой-то пароль чтобы через винсцп ломиться. Я винсцп не жалую тоже, лазию через фар с плугином, но об этом молчок! Так или иначе, залил сайт, вроде даже работает Одно но - работает криво. А именно, поисковые запросы, содержащие русские буквы, делает чуть менее чем никак. Не ищет ничего. Стал копать. Там какая тонкость еще - запросы надо делать в базу на MSSQL, стоящую на винде через odbc (потому что я лох и люблю одбц). Под это дело был поставлен одбц-драйвер нативный мелкософтовский, и вот он слал на сервак кракозябры вместо русских букв. Выяснилось это, естественно, не сразу, а путем выполнения трассировки запросов на SQL-сервак. iconv не помог, как бы я не конвертил букавки из utf-8 в любые кодировки, на сервер приходила ахинея. С горя хотел уж напиться, но где-то в интернетах прочел, что есть не только мелкософтовский одбц-драйвер, но еще и некий FreeTDS. Пошёл к сисадминам на поколон, поставили мне его на линух. Кракозябры в трейсах не исчезли. Сначала. А потом что-то впёрло мне, и я драйверу этому в конфиг прописал, что якобы коннектиться к нему будет клиент с кодировкой Windows-1251 (хотя на самом деле сайт сделан в utf-8), а в самих запросах от сайта перед обращением к драйверу делал iconv("utf-8","windows-1251","фигота всякя"). Ну и ответы обратно иконвил. И заработало!
В общем, как-то так в /etc/freetds.conf
[sqldb]
host = xxx.yyy.zzz.qqq
port = 1433
tds version = 8.0
client charset = WINDOWS-1251
А это дохлая мушка:

мушка
каноненос, 2013
кликабельно (1600х1600 275 kb)
Я её раздавил пальцем на подоконнике и положил под мелкоскоп в субботу. Неухоженная такая мушка, небритая вся.
Как она относится к линухам, спросите вы? Да никак.
Как и я примерно.
В общем, как-то так в /etc/freetds.conf
[sqldb]
host = xxx.yyy.zzz.qqq
port = 1433
tds version = 8.0
client charset = WINDOWS-1251
А это дохлая мушка:
мушка
каноненос, 2013
кликабельно (1600х1600 275 kb)
Я её раздавил пальцем на подоконнике и положил под мелкоскоп в субботу. Неухоженная такая мушка, небритая вся.
Как она относится к линухам, спросите вы? Да никак.
Как и я примерно.