Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.08.2010, 22:34
Uliana вне форума Посмотреть профиль Отправить личное сообщение для Uliana Найти все сообщения от Uliana
  № 1  
Ответить с цитированием
Uliana
 
Аватар для Uliana

Регистрация: Apr 2002
Адрес: Russia, Ural
Сообщений: 56
Отправить сообщение для Uliana с помощью ICQ
По умолчанию проблема с кодировкой... как ее решить?

Здравствуйте!

есть база Mysql в кодировке koi8r_general_ci... в этой базе список людей, имеющих определенную специальность, люди повторяются и специальности повторяются (у одного человека может быть несколько специальностей, соответственно у одной специальности может быть несколько человек - все это отдельные строки)....
надо вывести на одной странице:
1. список специальностей, кторые встречаются в базе (вопросов нет - вывела)
2. список людей по каждой специальности, но пробую пока по одной... ПРОБЛЕМА
СУТЬ:если специальность прописана латинскими буквами - все ок, а если русскими, то пусто... вообще ничего не выводит...
думаю, что проблема с кодировкой... как ее решить?
Подскажите пожалуйста что не так....

вот php-код:
<?php

$link = mysql_connect("127.0.0.1", "user", "pass");
mysql_select_db("name_bd");

mysql_query("SET NAMES cp1251;",$link) or die(mysql_error());
mysql_query("SET CHARACTER SET cp1251;",$link) or die(mysql_error());

//вывожу список встречающихся специальностей - все ок

$query = "SELECT Speciality FROM timedoctors";
$result = mysql_query($query);

$specy = array();
$count=0;

while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
$count++;
if (!in_array($line["Speciality"], $specy)){
array_push($specy, $line["Speciality"]);
}
}
sort($specy);
for ($j = 0; $j < sizeof ($specy); $j++) :
print "$specy[$j]<br>";
endfor;

mysql_free_result($result);

//Вывожу список специалистов(людей) по специальности, первой в массиве $specy - работает, если специальность латинскими буквами в базе прописана
$text=$specy[0];
print "<br>cp1251: ".$text."<br>";
$text = iconv("windows-1251", "koi8-r", $text);
print "koi8r: ".$text."<br>";//попробовала перекодировать - не помогло

$query_ = "SELECT Name FROM timedoctors WHERE Speciality='".$text."'";
$result_ = mysql_query($query_);

$count_=0;
while ($line_ = mysql_fetch_array($result_, MYSQL_ASSOC)) {
$count_++;
print " ".$count_.". ".$line_["Name"]."&<br>";
}

mysql_free_result($result_);



mysql_close($link);


?>

спасибо....

Старый 04.08.2010, 23:07
zurkis вне форума Посмотреть профиль Отправить личное сообщение для zurkis Найти все сообщения от zurkis
  № 2  
Ответить с цитированием
zurkis
 
Аватар для zurkis

Регистрация: Nov 2008
Адрес: Атланта
Сообщений: 1,271
делай все в utf8 при коннекте

PHP код:
mysql_query ("set character_set_client='utf-8'");
mysql_query ("set character_set_results='utf-8'");
mysql_query ("set collation_connection='utf8_general_ci'");
mysql_query ("SET NAMES utf8"); 
и тогда проблем с отображение русских не будет, и еще для таблиц где будет русский текст DEFAULT CHARSET=utf8, и оформить тегами пхп
__________________
Пока я жив, Вы горем обеспечены

Старый 05.08.2010, 10:10
Uliana вне форума Посмотреть профиль Отправить личное сообщение для Uliana Найти все сообщения от Uliana
  № 3  
Ответить с цитированием
Uliana
 
Аватар для Uliana

Регистрация: Apr 2002
Адрес: Russia, Ural
Сообщений: 56
Отправить сообщение для Uliana с помощью ICQ
спасибо, zurkis!..... поменяла кодировку всей базы на utf8 и все стало в порядке!

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:00.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:00.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.