/DiOs писал(а):Попробую об'яснить с другой стороны. Есть сервер баз данных. Как железка. На ней установлена (после операционной системы) некая СУБД. В данном случае -- MySQL 4.1.x. У этой СУБД есть ряд настроек. Среди этих настроек есть те, которые относятся к локализации. Среди настроек локализации есть набор символов, charset. Под СУБД создан ряд (м.б. очень большой) конкретных баз данных, БД. Одна (в простейшем случае) из этих БД предоставлена в ваше распоряжение. Это можно воспринимать как некое пространство, выделенное вам и подчиняющееся законам СУБД. Когда вы инсталируете форум или любое другое DB-ориентированное приложение вы в этом отведенном вам пространстве БД просто создаете таблицы (каждой из которых в MySQL соответствуют 3 файла, но это не важно). Так вот, способ представления символов внутри этих файлов зависит от той самой установки character set. install.php создает абстрактные таблицы -- и все. Конкретные байтики в них будут определяться СУБД. Т.е. у себя с клавиатуры, в своей операционной системе, в своем браузере или еще каком интерфейсе, вы вводите символ в некоей кодировке, а в БД он будет храниться только в одной -- в той, которая указана. И именно в этой кодировке выкинется в дамп, если вы его будете делать средствами СУБД. И криво засосется в другую базу под другой СУБД, если у них не совпадают локали. Причем дело может касаться не только кодов символов, но и, например, способов представления десятичного разделителя.
надеюсь, теперь стало яснее.
Хорошо, я могу понять когда русские символы съезжают из за смены MySQL
Но у меня например выводятся вопросики из базы лишь толькотогда когда я меняю версию PHP
В такой связке всё нормально
Apache2.0.55+PHP4.4.1+MySQL5.0.18+phpbb2.0.19
А вот после перейти на связку
Apache2.0.55+PHP5.1.2+MySQL5.0.18+phpbb2.0.19
У меня не получилось. Многие php скрипты взглючили в том числе и форум, русский тескт получаемый из базы отображается вопросиками
в
php.ini выставил
register_long_arrays=On