кодировка на host.sk для русского текста

CHEM_Eugene

Новичок
кодировка на host.sk для русского текста

Как нужно закодировать русский текст, чтоб он из файла нормально считывался?
Пробовал файлы делать в UTF-8, но вместо русских слов - ничего. Тогда с помощью iconv перекодировал перед выводом на экран в WINDOWS-1251 и в KOI8-r, все равно ничего. Что ещё попробовать?
 

SiMM

Новичок
> Думаешь дело не в этом?
Именно. В любом случае куцего описания проблемы недостаточно.
 

CHEM_Eugene

Новичок
Автор оригинала: SiMM
> Думаешь дело не в этом?
Именно. В любом случае куцего описания проблемы недостаточно.
Проблема-то очень простая: файл TSV, из него считывается строка, в которой \t разделяет слова на русском и латинице. Всё, что на латинице появляется на экране нормально, а вместо русских слов - ничего, даже абракадабры нету. Смена кодировки никак не влияет на ситуацию. Зато вся остальная страница на русском языкен ормально показывается. Проблема только с файлом.
 

Фанат

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

CHEM_Eugene

Новичок
Автор оригинала: Фанат
где результат просмотра исходного текста, а не того, что "на экране"?
зачем вообще было что-то в файле кодировать?
PHP:
while(!feof($fh)) {
$result=fgetcsv($fh, 4096, "\t");
if ($result[4] >= $age1 and $result[4] <= $age2) {
$form_name="name_"."{$result[2]}";
$img_name="img_"."{$result[2]}";
echo "<FORM name=\"$form_name\" action=\"anketa_for_visitor.php\" method=\"post\">
      <INPUT type=\"hidden\" name=\"FILE\" value=\"$file\">
      <INPUT type=\"hidden\" name=\"homoVAR\" value=\"{$result[2]}\">
      <INPUT type=\"hidden\" name=\"ALL_NAME\" value=\"$my_names\"> 
      <TABLE class=\"search_result\">
      <TR><TD width=\"100\"><IMG name=\"$img_name\" align=\"center\" src=\"{$result[6]}\" width=\"100\"></TD>
          <TD width=\"400\"><B>{$result[2]}</B>, лет: {$result[4]}, группа: {$result[3]}</TD>
          <TD><BUTTON type=\"submit\" name=\"PROSMOTR\">Смотреть</BUTTON></TD></TR>
      </TABLE>
      </FORM>
      <BR>";
      
 }
}
А вот HTML-код после того, как это работает (найдено 2 человека: один с именем на латинице, а другой на русском):
<FORM name="name_" action="anketa_for_visitor.php" method="post"><input type="hidden" name="PHPSESSID" value="30e8fb5dfd3af31c0f6c1be1e9c13e2d" />
<INPUT type="hidden" name="FILE" value="base_homo.tsv">
<INPUT type="hidden" name="homoVAR" value="">
<INPUT type="hidden" name="ALL_NAME" value="|Brother">
<TABLE class="search_result">
<TR><TD width="100"><IMG name="img_" align="center" src="D:\WWW\peoples_fotos\2.JPG" width="100"></TD>
<TD width="400"><B></B>, лет: 21, группа: 253</TD>
<TD><BUTTON type="submit" name="PROSMOTR">Смотреть</BUTTON></TD></TR>
</TABLE>
</FORM>
<BR><FORM name="name_Brother" action="anketa_for_visitor.php" method="post"><input type="hidden" name="PHPSESSID" value="30e8fb5dfd3af31c0f6c1be1e9c13e2d" />
<INPUT type="hidden" name="FILE" value="base_homo.tsv">
<INPUT type="hidden" name="homoVAR" value="Brother">
<INPUT type="hidden" name="ALL_NAME" value="|Brother">
<TABLE class="search_result">
<TR><TD width="100"><IMG name="img_Brother" align="center" src="D:\WWW\peoples_fotos\Im.JPG" width="100"></TD>
<TD width="400"><B>Brother</B>, лет: 19, группа: 212</TD>
<TD><BUTTON type="submit" name="PROSMOTR">Смотреть</BUTTON></TD></TR>
</TABLE>
</FORM>
<BR>
$ALL_NAME кстати строка, содержащая все найденные имена, разделенные "|"
 

Фанат

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

ГДЕ вместо всего этого мусора
var_dump($result)?
где fread вместо fgetcsv для проверки?
 

CHEM_Eugene

Новичок
Автор оригинала: Фанат
ГДЕ вместо всего этого мусора
var_dump($result)?
Вот результат var_dump():
для первого найденного:
array(7) {
[0]=>
string(9) "GLADIATOR"
[1]=>
string(1) "1"
[2]=>
string(0) ""
[3]=>
string(3) "253"
[4]=>
string(2) "21"
[5]=>
string(20) "[email protected]"
[6]=>
string(26) "D:\WWW\peoples_fotos\2.JPG"
}
для второго:
array(7) {
[0]=>
string(3) "ASS"
[1]=>
string(1) "2"
[2]=>
string(7) "Brother"
[3]=>
string(3) "212"
[4]=>
string(2) "19"
[5]=>
string(19) "[email protected]"
[6]=>
string(27) "D:\WWW\peoples_fotos\Im.JPG"
}
 

Фанат

oncle terrible
Команда форума
русский текст прекрасно всегда из файла читается.
точно так же, как и любой другой.
если какие-то косяки с функцией fgetcsv - поменяй на другую. на третью.
читай файл самыми разнообразными способами. ШЕВЕЛИСЬ. делай хоть что-то кроме сиденияя на форуме и "поисков".
шевели руками. пробуй по-всякому.
убеждайся, что все исходные, и все полученные данные - именно такие, какие ты предполагаешь.
всё ли в файле то, что нужно?
как ты смотришь вывод - в браузере или в исходнике?

всё это азбучные истины, и никаких результатов этих телодвижений мы здесь не видим
 

CHEM_Eugene

Новичок
Вывод смотрю и там и там, результат одинаковый.
Смущает, что на домашнем сервере всё работает прекрасно, а у хостера как всегда косяк за косяком.
Спасибо, буду стараться!

-~{}~ 30.08.06 13:47:

Автор оригинала: Фанат
если какие-то косяки с функцией fgetcsv - поменяй на другую. на третью.
И правда косяк был с fgetcsv. Сменил на fgets, все заработало. Спасибо за помощь.
 
Сверху