ХЕЛП! Не работает convert_cyr_string :о(

hantenbain

Новичок
ХЕЛП! Не работает convert_cyr_string :о(

Уважаемые коллеги, помогите советом!

Имеется скрипт, который выводит данные из MS SQL

На тестовой машине все работает отлично, скопировал скрипты на рабочий сервер, вместо русских букв козя-бозя :о((

Преобразую кодировку так
$u_currency=convert_cyr_string($u_currency,'a','w');
Нефига не работает. И тестовый и рабочий сервер обращаються к одной и тойже БД.

Версия Apache 1.3.31
PHP 4.4.2 Все работает под Виндой
 

hantenbain

Новичок
А как? Без перекодировки у меня русские буквы не выводились, сделал convert_cyr_string, все заработало.
Почему же на другом серваке не работает :о((
 

Фанат

oncle terrible
Команда форума
нет, почему ты convert_cyr_string применяешь именно так, а не иначе?
 

Фанат

oncle terrible
Команда форума
то есть, по-твоему, надо быть гуру в PHP, чтобы применять функцию перекодировки осмысленно - то есть, правильно указывать кодировку?
или, может быть, ты полагаешь, что гуру пхп своими гурскими способностями знают, в какой кодировке тебе выдаёт данные база?
 

hantenbain

Новичок
Если на тестовом сервере это работает, то я полагаю, что база выдает в x-cp866
Вопрос: почему не работает на другом сервере, если и база и нстройки ODBC дни и теже?
 

Фанат

oncle terrible
Команда форума
стоп.
что не работает на тестовом сервере?
как ты это узнал?
как проверил?
 

hantenbain

Новичок
На тестовом сервере русские буквы из базы выводяться корректно, на рабочем абракадабра
 

Фанат

oncle terrible
Команда форума
если я правильно понял твой вопрос, мы, сидя здесь, должны отгадать - "почему не работает на другом сервере"?
Так?
 

hantenbain

Новичок
Я не прошу отгадывать, если сталкивались с подобной ситуацией, подскажите, если не знаете, нечего язвить.
 

Фанат

oncle terrible
Команда форума
а ты считаешь, что данную проблему можно решить только если раньше с ней сталкивался?
А тебе не приходило в голову совершить какие-нибудь телодвижения руками?
проверить свои логические выводы?
 

hantenbain

Новичок
Перепробовал все варианты параметров convert_cyr_string, корректного отображения букв, как небыло так и нет :о(( Ничего более в голову не приходит :о((
 

Фанат

oncle terrible
Команда форума
отлично.
а когда ты пробовал варианты - результат менялся?
 

hantenbain

Новичок
Менялся. Сейчас убрал вообще convert_cyr_string, и все стало отображаться нормально..... Вопрос конечно остался, но все равно спасибо за поддержку :о)
 

Фанат

oncle terrible
Команда форума
прежде, чем даже дотрагиваться до convert_cyr_string, тебе сначала нужно ОПРЕДЕЛИТЬ КОДИРОВКУ!

Не методом тыка "пробовать варианты", а ОСМЫСЛЕННО параметры задавать!

сначала узнай, в какой кодировке тебевыдаёт данные база.
И ТОЛЬКО ПОТОМ заботься об их перекодировке.

Для такого простого порядка действий не надо быть гуру в пхп. Надо всего лишь немного думать надо тем, что делаешь.
 

slach

Новичок
=) ну в общем и целом, фанат серией осмысленных итераций тебя подводил к мысли, что есть такое понятие как CHARSET и COLLATION в Microsoft SQL Server, и было бы не плохо если бы ты САМ взял MSDN и разобрался таки как и где это устанавливается на сервере базы данных

судя по всему "на тестовом" сервере у тебя как раз криво настроена кодировка в которой требуется отдавать данные от сервера БД в php-клиента, а на "рабочем" у кого то руки как надо росли =)
 

Alister

Новичок
Хз первое время я копался в regedit в стороне HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
отожсдествлял dos c win-1251...теперь юзаю convert_cyr_string и все нормально
 
Сверху