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);
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);
mysql_query($sQuery);
попробуй это прописать перед выводом из базы.
Спасибо. Твой совет помог. Даже больше ничего дополнительно не пришлось делать.