Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   в таблицу записываются вопросительные знаки(mysql); (http://www.flasher.ru/forum/showthread.php?t=148411)

temofony 30.12.2010 11:44

в таблицу записываются вопросительные знаки(mysql);
 
Здравствуйте все))это снова я,с как вам может показаться тупыми вопросами)
Так вот,проблема в том,что при записи в mysql-таблицу в одно из полей вместо русскоязычной строки записываются вопросительные знаки в черных ромбиках.Причем,русскоязычные данные,передаваемые флешем в пшп,сохраняются на русском без проблем.Вот пшп код "записчика":

PHP код:

<?php
 $domain 
str_replace"www."""getenv"HTTP_HOST" ) ); 
    if ( 
$domain != "new-mich.ru" 
    { 
        exit( ); 
    } 
$nick_r=$_POST['nick'];
$passw_r=$_POST['passw'];
$pol_r=$_POST['pol'];
$name_r=$_POST['name'];
$reanim_code=$_POST['reanim_code'];
$nick=strip_tags($nick_r);
$passw=strip_tags($passw_r);
$pol=strip_tags($pol_r);
$name=strip_tags($name_r);
include 
"config.php";
$query="SELECT id_user FROM users WHERE nick='$nick'";
$ath=mysql_query($query);
if(
$ath) {
}else{
echo 
"error";
}
$result mysql_fetch_assoc ($ath);
  if (isset (
$result ['id_user']))
    {
echo 
"exists!";
      exit ();
    }else{
echo 
"not exists!";
$query2="INSERT INTO users VALUES(NULL,'$nick','$passw','false','$reanim_code',0,'$name','$pol' ,'Не заполнено пользователем' )";
mysql_query($query2);
}
?>

Не корректно записывается строка "Не заполнено пользователем".
Код config.php:

PHP код:

<?php
$dblocation
="localhost";
$dbname="brightmind_nm-chat";
$dbuser="039939003_chat";
$dbpasswd="/////////";
$dbcnx=@mysql_connect($dblocation,$dbuser,$dbpasswd);
if(!
$dbcnx) {
exit(
"cannot connect to database!");
}else{
}
if(! @ 
mysql_select_db($dbname,$dbcnx) ) {
exit(
"error mfuck!");
}
@
mysql_query("SET NAMES 'cp1251' ");
?>

На самом хосте (джино) для базы данных выставлена кодировка cp121_general_ci.
Не пойму в чем поблема??

Жывчик Эль 30.12.2010 11:59

Давно пора переходить на UTF8.

iflamberg 30.12.2010 14:25

Ну, смотрите, в какой кодировка у вас написано "Не заполнено пользователем", видимо отличается от cp121. Вообще интересно, как это флеша записи нормально записываются, они же в utf8.

Жывчик Эль 30.12.2010 15:34

Как вариант преобразовать файл "записчика" в кодировку UTF8 без BOM.
И советую сразу и везде использовать UTF8.

temofony 30.12.2010 16:10

хм....если я ставлю UTF8 тогда "Не заполнено пользователем" записывается корректно,а имя какими-то кракозябрами..

Добавлено через 8 минут
http://new-mich.ru/screen.png
Теперь это выглядит вот так.

config.php теперь такой:

PHP код:

<?php 
$dblocation
="localhost"
$dbname="brightmind_nm-chat"
$dbuser="039939003_chat"
$dbpasswd="/////////"
$dbcnx=@mysql_connect($dblocation,$dbuser,$dbpasswd); 
if(!
$dbcnx) { 
exit(
"cannot connect to database!"); 
}else{ 

if(! @ 
mysql_select_db($dbname,$dbcnx) ) { 
exit(
"error mfuck!"); 

@
mysql_query("SET NAMES 'UTF8' "); 
?>

Добавлено через 2 часа 26 минут
кстати подскажите,в какой кодировке флеш обрабатывает кириллические символы??

etc 30.12.2010 23:25

Цитата:

Сообщение от temofony (Сообщение 961072)
кстати подскажите,в какой кодировке флеш обрабатывает кириллические символы??

В UTF-8.

temofony 31.12.2010 11:04

странно тогда...

Добавлено через 2 минуты
решил проблему так:пшп-скриптом ничего не записываю,все данные пихаю из флеш)видимо,данные из пшп шли не в той кодировке..

terbooter 31.12.2010 11:45

Все подобные проблемы решил для себя так:
только UTF-8 всегда и везде.


Часовой пояс GMT +4, время: 08:25.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.