powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / проблема кодировка
19 сообщений из 19, страница 1 из 1
проблема кодировка
    #37900023
seeerg_23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не получается отобразить данные. в пхп-файл данные поступают из бд ms sqlserver, а затем в таблицу на яваскрипте. в табл не отображаются данные на рус. всё сделал как тут написано http://itdumka.com.ua/index.php?cmd=shownode&node=23 - не получается.
делал так:
1. в пхп файле
<?php
mb_internal_encoding('UTF-8');
header("Content-Type: text/html; charset=utf-8");
//header("Content-Type: content=text/html; charset=windows-1251");
//$name = iconv('CP1251','UTF8',$name);

$link = mssql_connect($server, 'sss', '111');
mssql_query(" SET NAMES utf8");

2. в html файле
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

помогите победить кодировку. нужно, чтобы в табл на яваскрипте отображались и рус, и анг данные
...
Рейтинг: 0 / 0
проблема кодировка
    #37900052
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в яваскрипте данные каким образом используются json или что то еще ?
...
Рейтинг: 0 / 0
проблема кодировка
    #37900063
seeerg_23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, json.
...
Рейтинг: 0 / 0
проблема кодировка
    #37900280
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторmssql_query(" SET NAMES utf8");

рыдалЪ
...
Рейтинг: 0 / 0
проблема кодировка
    #37900313
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowавторmssql_query(" SET NAMES utf8");

рыдалЪ

Ну не знал человек, что так не катит в mssql че ж теперь..

Через iconv все прогонять если?
...
Рейтинг: 0 / 0
проблема кодировка
    #37900342
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharuPoNemnogu,

уж изврат, извините. У MSSQL должна быть возможность указать сопоставление кодировок
...
Рейтинг: 0 / 0
проблема кодировка
    #37900531
seeerg_23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так укажите, какие есть возможности сопоставления кодировок, плз
...
Рейтинг: 0 / 0
проблема кодировка
    #37900565
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
seeerg_23так укажите, какие есть возможности сопоставления кодировок, плз
у тебя Windows или Линукс?
...
Рейтинг: 0 / 0
проблема кодировка
    #37900814
seeerg_23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
виндовс
...
Рейтинг: 0 / 0
проблема кодировка
    #37900821
seeerg_23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не совсем виндовс. вы спрашиваете на сервере ?? на 1м сервере это линукс: ПХП+Апач+Mysql. на виндовс сервере стоит sql server. все преобразования в файлах пхп, js, html происходят на линуксе, запрос выборки данных из бд - на виндовсе. те пхп-файл на линуксе подключается к бд на виндовсе.
...
Рейтинг: 0 / 0
проблема кодировка
    #37900879
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
freeDTS значит.
mssql.charset "" PHP_INI_ALL Available since PHP 5.1.2 when built with FreeTDS 7.0 or greater.
http://php.net/manual/ru/mssql.configuration.php
...
Рейтинг: 0 / 0
проблема кодировка
    #37906879
seeerg_23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
phpinfo() выдаёт mssql.charset: no Value, no Value , я так понял по умолч mssql.charset=''''
в пхп файле прописал эту функцию сразу после подключения к бд, до и в конце самом.
function checkTdsVersion($dbHost, $dbPort, $dbUser, $dbPass) {
$cmd = sprintf(
'echo "version" | ' .
" tsql " .
" -H '%s' " .
" -p '%s' " .
" -U '%s' " .
" -P '%s' " .
" -o q | " .
"cut -d ' ' -f4 ",
escapeshellarg($dbHost),
escapeshellarg($dbPort),
escapeshellarg($dbUser),
escapeshellarg($dbPass)
);
$ver = (float)shell_exec($cmd);
return $ver;
}
вобщем ничего пока не выходит. что ещё можно предпринять?
...
Рейтинг: 0 / 0
проблема кодировка
    #37907246
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нифига непонятно даже после трех прочтений.
...
Рейтинг: 0 / 0
проблема кодировка
    #37907418
seeerg_23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в файле freetds.conf client charset = CP1251 , в пхп-файле прописал так <?php $name = iconv('CP1251','UTF8',$name); ..... ?> в файле php.ini mssql.charset="".
подскажите, что ещё можно сделать для отображения рус букв??
...
Рейтинг: 0 / 0
проблема кодировка
    #37907529
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выдача контента в какой кодировке должна быть?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
проблема кодировка
    #38886365
seeerg_23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выдача должна быть и на анг и на рус. сам php-файл у меня в ANSI. внутри файла я прописываю разные строки для отображения данных на русском после подключения к БД, все сразу и по отдельности:

mysql_query('SET NAMES CP1251');
mysql_query('SET CHARACTER SET cp1251');
mysql_query('set character_set_client=cp1251');
mysql_query('set character_set_results=cp1251');
mysql_query('set collation_connection=cp1251_general_ci');
mssql_query('SET character_set_database=cp1251');

но результат это не дало.
...
Рейтинг: 0 / 0
проблема кодировка
    #38886752
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
За два с половиной года так и не получилось? Сложный случай...
...
Рейтинг: 0 / 0
проблема кодировка
    #38887931
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?За два с половиной года так и не получилось? Сложный случай...
кто понял жизнь, тот не торопится.
...
Рейтинг: 0 / 0
проблема кодировка
    #38888061
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
seeerg_23выдача должна быть и на анг и на рус. сам php-файл у меня в ANSI. внутри файла я прописываю разные строки для отображения данных на русском после подключения к БД, все сразу и по отдельности:

mysql_query('SET NAMES CP1251');
mysql_query('SET CHARACTER SET cp1251');
mysql_query('set character_set_client=cp1251');
mysql_query('set character_set_results=cp1251');
mysql_query('set collation_connection=cp1251_general_ci');
mssql_query('SET character_set_database=cp1251');

но результат это не дало.

ну строки у тебя в коде в анси, из базы тебе тоже надо анси
mysql_query('SET NAMES CP1251');
этого достаточно. но это при условии что в базе данные храняться верно -а именно.
если на поле в таблице наложена кодировка анси, то анси там и лежит, если ютф то там ютф.

если это не так, базу надо чинить, а то работа не получиться что старые данные в базе чёрт знает как. новые правильно ...как потом при выдаче определять, надо дополнительно конвертировать или нет.

суть работы базы вплане кодировки столбца и команды
mysql_query('SET NAMES CP1251');
это значит, что при записи в базу, клиент передаёт строку в анси, база зная кодировку столбца осуществит перекодирование. в обратную сторону аналогично.

но ничто не мешает базу обмануть.
у базы в таблице текст в анси. взять туда толкнуть ютф текст(некотоыре символы по два байта)но базе вышеописаной команде сказать что это ансиданные.

база видит 0x0420 - это ютф8 буква я, но если базе сказать что это анси, она себе смотрит на это как на 2 символа, первый 0х04 - EOT (END OF TRANSMISSION) на юниксе ctrl+D, нормальный себе сивол, и второй 0х20 - обычный пробел. я понимаю что первый может тебе показаться не логичным - на самом деле все логично, храниться себе в поле точный набор пользователя - вклчая стирания символов, и прочее.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / проблема кодировка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]