Mysql PHP BG

9 отговора 1761 прегледа
#1

Mysql PHP BG

Zdraveite imam problem.
Znachi imam Apache2Triad poslednata versia
imam edna baza za sait i kato napisha v poleto koeto e s kolacia cp-1251 central
neshto na bg i posle mu dam pregled si mi izliza na bg ama kato mu dam zaiavka prez php i na stranicata mi go izkarva s ?????????? a v sushtoto pole kato napisha neshto na eng si mi izliza na stranicata na php my e zadadeno charset - windows 1251
na edin priatel na kompa mu trugva bez problemi a na men neshte na apasheto mu e zadadeno adddefoultcharset windows 1251 prosto ne znam kade moge da e problema i az i toi sme s windows xp SP2 ako ima znachenie :)
ne moga da si go obiasnia

Отговор
в отговор на lsd #2

Re: Mysql PHP BG

a връзката php - mysql какъв и е чарсета ?
и кои са версиите на PHP и MySQL ?

И пиши на кирилица

root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy
Отговор
в отговор на ro6avia #3

Re: Mysql PHP BG

Значи Mysql е версия 4.1.11
А на Apacheto 1.5
В My.ini файла на Mysql сам задал default-character-set=windows-1251
и на цонфига на апачето сам дал същия чарсет
просто не ми ражда акъла нищо не че сам някой спец от скоро се занимавам с
тези неща
мога да пратя дъмп на базата за да я разгледа :)

Отговор
в отговор на lsd #4

Ама не четеш !

1. Apache няма версия 1.5 !!!
2. Питах те за версия на PHP
3. За да се увериш за default-character-set пусни следната заявка : SHOW VARIABLES LIKE 'character_set'; - тя ще ти каже със сигурност, защото ми се струва, че си написал наистина windows-1251 а то трябва да е cp1251

root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy
Отговор
в отговор на ro6avia #5

Re: Ама не четеш !

PHP 5.0.4
Apache 2.0.53
a s tazi komanda mi otgovaria empty charset???
a kato otvoria my.imi tam sam my napisal default-character-set=cp1251

Отговор
в отговор на lsd #6

Re: Ама наистина не четеш !!

SHOW VARIABLES LIKE 'character_set%';

И след това прочети моля те какво пише в документацията на MySQL по въпроса.

default въобще не ти е достатъчно. Ако клиентът ти (PHP в случая) се свързва с друга кодова таблица получаваш чудасна конверсия между двете.

Изобщо чети. То си пише.

salle.online.bg/sig
Отговор
в отговор на salle #7

Re: Ама наистина не четеш !!

значи на тази команда изкарва :(

Variable_name Value
character_set_client latin1
connection latin1
database latin1
results latin1
server latin1
system utf8
dir C:\apache2triad\mysql\share\charsets/
разбирам че разковничето е тук ама ако ми кажете как да ги променя няма да ви се разсърдя а това четенето чета ама в книгата която сам зел не пише за тези настройки :)
знам че в нета пише ама нямам време мерси за вниманието което ми обръшате :)

Отговор
в отговор на lsd #8

Re: Ама наистина не четеш !!

на мен ми пише:

Variable_name Value
---------------------------------------------------------------------------------------------------------
character_set_client utf8
character_set_connection cp1251
character_set_database cp1251
character_set_results utf8
character_set_server cp1251
character_set_system utf8
character_sets_dir C:\Program Files\MySQL\MySQL Server 5.0\share\char...

и сега какво да направя за да ги сменя всичките на cp1251



None Of Us Is As Dumb As All Of Us.
Отговор
в отговор на vmlinuz #9

Re: той мързела не мори ама мъчи

[линк]

NAMES {'charset_name' | DEFAULT}

SET NAMES sets the three session system variables character_set_client, character_set_connection, and character_set_results to the given character set. Setting character_set_connection to charset_name also sets collation_connection to the default collation for charset_name.

The default mapping can be restored by using a value of DEFAULT

salle.online.bg/sig
Отговор
в отговор на salle #10

Re: той мързела не мори ама мъчи

Аз си реших проблема в php така:

/* Seting correct encoding */
$query = "SET NAMES cp1251";
$result = mysql_query($query) or die("Query failed : " . mysql_error());


Това поправя настройките за чарсета на клиента
Благодаря на всички за насоките


None Of Us Is As Dumb As All Of Us.
Отговор