Страница 1 из 1

PHP+java script+кодировка

Добавлено: 2010-05-31 14:35:41
schizoid
есть страничка на php. есть некоторый код на java script
кодировка странички

Код: Выделить всё

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
код ява вытягивает по запросу данные из базы, при чем той же в кодировке

Код: Выделить всё

$charset = mysql_query("SET NAMES cp1251");
но вывод на страничке получается кривой. основной текст видно нормально, то, что явой выдралось из базы - с битой кодировкой.
НО! если в браузере указать кодировку Windows-1251 все становится ок. видно и саму старничку и то, что из базы вытянулось.

при чем еще:
в начале делал код на тестовой страничке, все проверил, все было ок.
залил страничку на основной сайт, стал проверять - вылезла такая фигня с кодировкой.
пошел смотреть на тестовую страничку - и тут тоже фигня с кодировкой :(
и вот хз...может там где тестовая страничка была там и была выставлена кодировка windows-1251 в браузере насильно (не помню, т.к. код писал в пятницу), но за весь процесс написания и проверки ни разу небыло траблов с кодировкой..

вопрос, может я что-то зацепил?
или что-то таки не правильно работает?

т.е. если в браузере стоит выбирать кодировку автоматически - он ее не правильно отображает
если установить нужную в ручную - все становится ок.

Re: PHP+java script+кодировка

Добавлено: 2010-05-31 14:39:56
ProFTP
решались проблемы с кодировкой
http://www.lissyara.su/articles/freebsd ... _charsets/

Re: PHP+java script+кодировка

Добавлено: 2010-05-31 14:49:55
schizoid
все остальные данные вытягиваются в нормальной кодировке, те, которые с помощью php выводятся.

Re: PHP+java script+кодировка

Добавлено: 2010-05-31 14:56:51
schizoid
ха, при чем кодировка бьется не только, если данные из БД:

Код: Выделить всё

    if (!empty($myrow["name"])) {echo "$myrow[name]";}
    else {echo "<font color='red'>Клиент не найден!</font>";}
т.е. если такого клиента нету - выводится просто текст: Клиент не найден!
который тоже с битой кодировкой!
т.е. как-то яве нужно сказать, что это windows-1251

скрипты подключаются так:

Код: Выделить всё

<script type="text/javascript" src="js/dbconnect.js" language="charset=windows-1251"></script>
<script type="text/javascript" src="js/linkedselect.js" language="charset=windows-1251" ></script>

Re: PHP+java script+кодировка

Добавлено: 2010-05-31 15:02:53
thefree
charset='windows-1251'

AddDefaultCharset Off

Re: PHP+java script+кодировка

Добавлено: 2010-05-31 15:15:07
ProFTP
schizoid писал(а):все остальные данные вытягиваются в нормальной кодировке, те, которые с помощью php выводятся.
у меня была проблема когда переменную я вставлял с php в html с фремворком

и в этой переменной кодировка была сбитая закондированная в 16 систему по-моиму

Код: Выделить всё

 \x{412} \x{434}\x{430}\x{43d}\x{43d}\x{43e}\x{439} \x{441}\x{442}\x{430}\x{442}\x{44c}\x{435} \x{440}\x{430}\x{441}\x{441}
\x{43c}\x{430}\x{442}\x{440}\x{438}\x{432}\x{430}\x{435}\x{442}\x{441}\x{44f} \x{440}\x{435}\x{430}\x{43b}\x{438}\x{437}\x{430}
\x{446}\x{438}\x{44f} CRUD \x{43f}\x{43e}\x{434} perl. \x{412}\x{441}\x{435} \x{43a}\x{442}\x{43e} \x{43f}\x{440}\x{43e}\x{433}
\x{440}\x{430}\x{43c}\x{43c}\x{438}\x{440}\x{443}\x{44e}\x{442} \x{43f}\x{43e}\x{434} web \x{437}\x{43d}\x{430}\x{44e}\x{442}, 
(зачем это делается точно не понял, но наверное чтобы перевести в какой подходящий вид)


и на всех страницах кодировка была

Код: Выделить всё

?“?»?°?????°?? | ?????????? | ?“?????????‹ | ?’?????µ???°?»???±?????‹ | !?¤???‚???°?»???±?????‹! | 
???‚?°?‚?????‚?????° | ?????????‰?? | ?›???‡???‹?µ ???????±?‰?µ?????? | ?’?°?? ???????„???»?? | ?’?‹?…????
этe переменную нужно было "декодировать" чтобы кодирова была нормальная

Код: Выделить всё

 $c->request->params->{name_content} = Encode::encode('utf8', $c->request->params->{name_content})
http://www.php.net/manual/en/function.utf8-decode.php

но может у тебя другая проблема, можно только угадывать...

Re: PHP+java script+кодировка

Добавлено: 2010-05-31 15:25:14
schizoid
снкс thefree, выставил кодировку в php.ini, все стало норм.

Re: PHP+java script+кодировка

Добавлено: 2010-05-31 15:26:49
thefree
schizoid писал(а):снкс thefree, выставил кодировку в php.ini, все стало норм.
нз, обрати внимание еще на

Код: Выделить всё

language="charset=windows-1251"
language если не ошибаюсь лишний

Re: PHP+java script+кодировка

Добавлено: 2010-05-31 16:09:38
ProFTP
schizoid писал(а):снкс thefree, выставил кодировку в php.ini, все стало норм.
можно было бы где-то в index.php написать, типо:

Код: Выделить всё

 define("CHARSET", "Windows-1251");  
php.ini по-умолчанию выставляются.... но не строго...

вроде бы как...