|
|
|
| javascritp, передающий данные в user_edit.php:
$.post('/user_edit.php',{name:name});
|
user_edit.php:
include_once "connect.php";
$name = str_replace('"','',json_encode ($_POST['name']));
mysql_query("
UPDATE
`user`
SET
`user`.`name` = '$name',
`user`.`surname` = 'Иванов'
WHERE
`user`.`id` = '1'
");
|
При передаче $name в кириллице в БД записывается: u0412u0430u0441u044f (Вася)
При этом $surname нормально пишится в кириллице: Иванов
Видимо кодировка в javascript нарушается... Как быть? | |
|
|
|
|
|
|
|
для: kireyev
(28.06.2011 в 08:22)
| | 1) В какой кодировке скрипты?
2) В какой кодировке таблицы базы данных?
3) Какой SET NAME используется в connect.php? | |
|
|
|
|
|
|
|
для: cheops
(28.06.2011 в 08:32)
| | с 1-м не знаком, как определить-узнать-понять?
<meta http-equiv="content-type" content="text/html; charset=windows-1251"> ???
2. CP1251-general-ci
3. CP1251 | |
|
|
|
|
|
|
|
для: kireyev
(28.06.2011 в 08:36)
| | При AJAX лучше бы использовать UTF-8, кодируя данные перед отправкой и декодируя перед сохранением в базу данных. В противном случае нужно настраивать кодировку HTTP-заголовков, которые возвращает Web-сервер. | |
|
|
|
|
|
|
|
для: cheops
(28.06.2011 в 08:58)
| | Где копать незнающим? | |
|
|
|
|
|
|
|
для: kireyev
(28.06.2011 в 09:08)
| | А что сделать хотите? Если перекодировать в UTF-8, то для этого идеально подойдет iconv(), если настроить кодировки Web-сервера, это лучше сделать через .htaccess и директиву AddDefaultCharset. | |
|
|
|
|
|
|
|
для: cheops
(28.06.2011 в 09:48)
| | Спасибо... Как раз нашел решение в iconv() на принимающем файле edit_user.php
$nickname = iconv("UTF-8","CP1251",$_POST['nickname']);
|
| |
|
|
|