[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кодировка в PHP5.2.1 MySQL5.0.22 Apache2.2.4
blind
Не подскажете как добиться в связке
Apache2.2.4/MySQL5.0.22/PHP5.2.1 под Windows
вывод в кодировке или cp1251 или windows1251 ?

----------Коротко о системе и настройках--------
---Windows2000SP4
---Apache/2.2.4 (Win32) PHP/5.2.1

---PHP 5.2.1
default_charset = "cp1251"

---MySQL v5.0.22
в my.ini:
[mysql]
default-character-set=cp1251
[mysqld]
default-character-set=cp1251


----Код создания и заполнения тестовой базы-------
create database if not exists alphabet
DEFAULT CHARACTER SET cp1251
DEFAULT COLLATE cp1251_general_ci;
use alphabet;

drop table if exists bukv;

create table bukv
(
BId INTEGER NOT NULL AUTO_INCREMENT,
Symb tinytext NOT NULL,
Remark VARCHAR(64) NOT NULL,
DateRecord TIMESTAMP(14) NOT NULL,
PRIMARY KEY (BId)
)
DEFAULT CHARACTER SET cp1251;

use alphabet;
INSERT INTO bukv (Symb, Remark) VALUES ("А", "Буква А");
INSERT INTO bukv (Symb, Remark) VALUES ("Б", "");
INSERT INTO bukv (Symb, Remark) VALUES ("В", "");
INSERT INTO bukv (Symb, Remark) VALUES ("Г", "");
------------------------------


Вывод с помощью кода, указанного ниже, в неопределенной кодировке:
? - ????? ?
? -
? -
? -

----------Код для вывода данных из базы----------------
$dbserver="localhost";
$dbuser="qwert";
$dbpass="qwert";
$dbname="alphabet";
$dbh=mysql_connect($dbserver, $dbuser, $dbpass);
mysql_select_db($dbname, $dbh);
$result=mysql_query("SELECT *, FROM_UNIXTIME(UNIX_TIMESTAMP(DateRecord)) as timeall FROM bukv ORDER BY Symb");
if (mysql_num_rows($result)>0)
{
while($row=mysql_fetch_array($result))
{
echo $row['Symb']." - ".$row['Remark']."<br>";
}
}
----------Код для вывода данных из базы----------------
mysql_close();


А через консоль mysql-я Вывод на русском:
mysql> use alphabet;
Database changed
mysql> select * from bukv;
+-----+------+---------+---------------------+
| BId | Symb | Remark | DateRecord |
+-----+------+---------+---------------------+
| 1 | А | Буква А | 2007-04-24 14:54:00 |
| 2 | Б | | 2007-04-24 14:54:00 |
| 3 | В | | 2007-04-24 14:54:00 |
| 4 | Г | | 2007-04-24 14:54:00 |
+-----+------+---------+---------------------+
4 rows in set (0.00 sec)




Спустя 3 часа, 22 минуты, 35 секунд (24.04.2007 - 14:40) Rem написал(а):
Код
$sQuery="SET NAMES cp1251";
mysql_query($sQuery);

попробуй это прописать перед выводом из базы.

Спустя 3 дня, 12 часов, 36 минут, 36 секунд (28.04.2007 - 03:16) blind написал(а):
Цитата(Rem @ 24.4.2007, 18:40) [snapback]18939[/snapback]
Код
$sQuery="SET NAMES cp1251";
mysql_query($sQuery);

попробуй это прописать перед выводом из базы.


Спасибо. Твой совет помог. Даже больше ничего дополнительно не пришлось делать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.