Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: проблемы с кодировкой в связке PHP - MSSQL
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » проблемы с кодировкой в связке PHP - MSSQL

Страниц (1): [1]
 

1. nejenka - 20 Июля, 2007 - 09:05:57 - перейти к сообщению
Добрый день!
Помогите пажалуйста с такой проблемой:
Я хочу из пхп вставить строку(кириллица) в бд на MSSQL 2000. Почему-то некорректно вставляются русские буквы! - они вставляются уже как латинские... а если отлавливать в Profiler , то там русский текст отображается в виде жирных черточек...
Если производить вставку с asp.net (С#) - то все нормально.
Есть к тому же у нас еще один сервер (пусть и 7 , но только на нем получается выполнять данные операции, на других 7 не прлучается) - так там все нормально! Правда говорят и там были проблемы, но один из программистов, который сейчас уже не работает, его сумел как-то настроить, - как он сейчас уже этого не помнит....
Также если сохранять текст из пхп скажем в текстовый файл - то с кодировкой тоже все в порядке... и в какой момент происходит преобразование этого текста остается непонятным...
Прошу подскажите хотя бы в каком направлении двигаться - очень нужна помощь!
2. Джур - 20 Июля, 2007 - 12:08:18 - перейти к сообщению
был подобный косяказабр. Улыбка
я принудительно проставил кодировку cp1251 в базе... и в php...
3. nejenka - 23 Июля, 2007 - 06:33:14 - перейти к сообщению
ну поставить кодировку cp1251 в MSSQL 8 сложно... но я меняла кодировку на кириллицу и у полей, и даже у таблиц - но это вообще никак не влияет на результат..
в пхп.ини попробую поменять конечно... - но это связано с рядом сложностей.. а других путей нет? к тому же - есть ведь сервер на котором все прекрасно работает!
эх... Есть еще какие-нибудь предложения?
4. evgenijj - 23 Июля, 2007 - 10:12:41 - перейти к сообщению
Может быть, есть смысл воспользоваться поиском (Google, Yandex)
http://phpclub[dot]ru/faq/wakka.php?[dot][dot][dot]MssqlDosEncoding
http://www[dot]getinfo[dot]ru/print462_0[dot]html
http://www[dot]straher[dot]ru/webmaster/[dot][dot][dot]t_mssql_php[dot]html
http://xpoint[dot]ru/forums/programm[dot][dot][dot]read/19803[dot]xhtml
Какой смысл ждать, пока кто-нибудь ответит, если можно самому найти ответ?

P.S. Мне не приходилось работать с MS SQL, так что, возможно, ссылки не решат твою проблему. Но то, что информации по этому вопросу много - это однозначно.
5. nejenka - 23 Июля, 2007 - 11:58:30 - перейти к сообщению
В первую очередь , как появилась такая проблема - я воспользовалась Гуглом! Если бы Вы внимательно прочитали мою проблему, то Вы бы поняли, что в Гугле таких не много! А к тому же - все, что там советуется ни к чему не приводит (например убрать галочку перекодировки в OEM)... сколько я сайтов не просмотрела нигде нормального решения и нету...
6. Джур - 23 Июля, 2007 - 12:04:51 - перейти к сообщению
решение есть... это UTF-8. Этой кодировке класть на язык. так что рекомендую как выход из ситуации. еще советую убить все возможные перекодировки и трансляции... а то может долбаный сервер "помогает" переконвертируя кодировку.

P.S. кстати а серван ваш случайно не 1С держит?
7. nejenka - 23 Июля, 2007 - 14:57:21 - перейти к сообщению
Извините, я не поняла - где именно надо устанавливать кодировку UTF-8 ?
а 1С серсер не держит... и вообще у нас почему-то только на одном сервере кодировка нормальная .. а на всех остальных вот так вот выдает.... и существенного отличия найти не могем.... эх..
8. Джур - 24 Июля, 2007 - 05:54:29 - перейти к сообщению
кодировку надо проставить для вашего mssql сервера, так-же для его таблиц. Также надо передавать данные на сервер в виде UTF-8. если это не поможет, значит сервера можно смело тушить.

 

Powered by ExBB FM 1.0 RC1