Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Кодировка utf-8
 
 автор: margol   (24.01.2007 в 14:57)   письмо автору
 
 

Ситуация такая: при выборке из базы данных и помещении информации на странице с кодировкой windows-1251 все нормально - русский текст. А при помещении на страницу с utf-8 показываются вопросики.

Как быть? Может какие функции есть?
Извиняюсь, если вопрос покажется кому-то глупым. С этой проблемой еще не сталкивалась.

   
 
 автор: Sergey89   (24.01.2007 в 15:03)   письмо автору
 
   для: margol   (24.01.2007 в 14:57)
 

В БД текст хранится в какой кодировке?

   
 
 автор: margol   (24.01.2007 в 15:09)   письмо автору
 
   для: Sergey89   (24.01.2007 в 15:03)
 

ascii

   
 
 автор: Trianon   (24.01.2007 в 15:18)   письмо автору
 
   для: margol   (24.01.2007 в 15:09)
 

ASCII - 7-битный код. Там русских букв не может быть в принципе.

   
 
 автор: margol   (24.01.2007 в 15:38)   письмо автору
 
   для: Trianon   (24.01.2007 в 15:18)
 

Ну я постаралась описать проблему...
В базе данных все на русском, если это важно.

   
 
 автор: Trianon   (24.01.2007 в 15:49)   письмо автору
 
   для: margol   (24.01.2007 в 15:38)
 

Какая версия сервера MySQL применяется?
Как выполняется подключение к серверу и настройка кодировки?
Как выглядят после этого переменные (SHOW VARIABLES LIKE '%CHAR%')?
В какой кодировке хранятся данные в таблице?
Какие заголовки формируются для создаваемой HTML-страницы?
Как выполняется вывод из БД?

Ответы на эти вопросы опишут проблему.

Русский - это не кодировка. Это название языка.

   
 
 автор: margol   (24.01.2007 в 16:22)   письмо автору
 
   для: Trianon   (24.01.2007 в 15:49)
 

База данных DB2 версия 7.
Подключение к серверу через ODBC клиент.
В той странице, где все отображалось, в заголовке html страницы прописано:

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

А теперь код вывода данных помещаю в Wiki а у нее кодировка utf-8. Мне кажется в этом все дело, но как-то можно бороться?

Вот вывод из базы данных:


<?
$con
=odbc_connect($database$user$password);
$sql= <<< PPP
//формирование запроса
PPP;
$q=odbc_exec($con,$sql);
$r=odbc_num_rows($q);
$f=odbc_num_fields($q);
//вывод в цикле
?>

   
 
 автор: bronenos   (24.01.2007 в 16:30)   письмо автору
 
   для: margol   (24.01.2007 в 16:22)
 

Я думаю, можно в начале страницы поместить
ob_start();

А в конце
$print = ob_get_contents();
ob_end_clean();
print iconv ('cp1521', 'utf-8', $print);

   
 
 автор: margol   (24.01.2007 в 17:13)   письмо автору
 
   для: bronenos   (24.01.2007 в 16:30)
 

Да, заработало! Спасибо!

   
 
 автор: bronenos   (24.01.2007 в 17:19)   письмо автору
 
   для: margol   (24.01.2007 в 17:13)
 

то есть, cp1251

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования