Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
xAJAX + MySQL + Кириллица. Нужна помощь |

26.03.2008, 21:37
|
|
Познающий
Регистрация: 26.05.2007
Сообщений: 63
Провел на форуме: 550386
Репутация:
86
|
|
xAJAX + MySQL + Кириллица. Нужна помощь
Весь день убил на поиски решений проблемы с кириллицей. Так ничего и не нашел
PHP код:
require_once("config.php");
require_once("ajax/xajax_core/xajax.inc.php");
$xajax = new xajax();
$xajax->setCharEncoding("windows-1251");
$xajax->registerFunction("sendee");
$xajax->processRequest();
function sendee($aFormValues,$id) {
global $mysql_connect, $mysql_selectdb, $time;
$objResponse = new xajaxResponse();
$id = intval($id);
$mess = htmlspecialchars(strip_tags($aFormValues['messtext']));
$query = "INSERT INTO chat (user_id,message,type,time) VALUES ('$id','$mess','0','$time')";
$doQuery = mysql_query($query);
$query = "SELECT * FROM chat WHERE user_id LIKE '$id' ORDER BY id DESC LIMIT 0,20";
$doQuery = mysql_query($query);
while ($message = mysql_fetch_array($doQuery))
{
$str .= $message['message']."<br>";
}
$newContent = $str;
$objResponse->assign("chatblock","innerHTML", $newContent);
return $objResponse;
}
Вместо " Привет. Как успехи?" в базу пишется такая канитель " ?????????µ?‚. ???°?? ???????µ?…???"
Может кто-нибудь сталкивался с этой проблемой. Помогите решить. Облазил форум XAJAX PROJECT. Ничего толкового так и не нашел.
Последний раз редактировалось NNNS; 26.03.2008 в 21:42..
|
|
|

26.03.2008, 22:25
|
|
Moderator - Level 7
Регистрация: 24.02.2006
Сообщений: 447
Провел на форуме: 2872049
Репутация:
705
|
|
Исис же выкладывал функцию перекодировщик, юзай поиск лучше
PHP код:
function encode($str, $type)
{
static $conv='';
if (!is_array ( $conv ))
{
$conv=array ();
for($x=128; $x <=143; $x++ )
{
$conv['utf'][] = chr(209).chr($x);
$conv['win'][] = chr($x+112);
}
for( $x=144; $x <=191; $x++ )
{
$conv['utf'][] = chr(208).chr($x);
$conv['win'][] = chr($x+48);
}
$conv['utf'][] = chr(208).chr(129);
$conv['win'][] = chr(168);
$conv['utf'][] = chr(209).chr(145);
$conv['win'][] = chr(184);
}
if( $type=='w' )
return str_replace ( $conv['utf'], $conv['win'], $str );
elseif( $type=='u' )
return str_replace ( $conv['win'], $conv['utf'], $str );
else
return $str;
}
|
|
|

27.03.2008, 02:27
|
|
Участник форума
Регистрация: 08.02.2007
Сообщений: 162
Провел на форуме: 463978
Репутация:
34
|
|
еще есть функция iconv()
<?php
echo iconv("KOI8-U", "UTF-8", "Пора переходить на юникод.");
?>
вместо "KOI8-U", "UTF-8" свои нужные кодировки
например iconv('utf-8','cp1251',$name);
тоже траблы были))) Библейские символы конешно вскрывают)
хм... верхний вариант тоже понравилсо) Надо будет попробовать....
потом еще вот
header('Content-type: text/xml; charset=windows-1251');
Ну на этом пожалуй все что хотелось сказать по этому поводу)
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|