[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с кодировкой
Serg_php
Здравствуйте. Помогите розобраться с проблемой. Делаю адресную книгу(не опытный программист, учусь) и вот проблема. Пытаюсь вытащить с БД данные, вот таким запросом
$array1 = mysql_query ("SELECT * FROM user WHERE country = $sity");
переменная $sity полученна
$sity = $_POST["sity"]; 
а передавал я ее с помощю функции
function getacountry(){
var country_value = $("#country option:selected").text();
var user = $("#user");
user.load('getcountry.php',{sity : country_value});

}
так вот эта функция передает только в utf-8 и данные в БД тоже в utf-8, но проблема что передает оно в эту переменную $sity кракозябры и вот же этот запрос
$array1 = mysql_query ("SELECT * FROM user WHERE country = $sity");
просто не может вытащить данные, потому что не может сровнить WHERE country = $sity. Посмотрите пожалуйста, может в чем то другои ошибка?
<?php

require_once ("config/db.php");

$sity = $_POST["sity"];

$array1 = mysql_query ("SELECT * FROM user WHERE country = $sity");


while ($my1 = mysql_fetch_array ($array1)) {

echo " <tr><td><div id=\"id\">\"".$my1["id_user"]."</div></td><td><div id=\"name\">\"".$my1["fist_name"]."</div></td><td><div id=\"country\">\"".$my1["country"]."</div></td><td><div id=\"city\">\"".$my1["siti"]."</div></td><td width=\"20%\"> </td></tr>";
}




Спустя 15 минут, 37 секунд (6.08.2011 - 10:37) KonstantinK написал(а):
Serg_php
Мне думается надо посмотреть в какой кодировке файл getcountry.php он должен быть как и все файлы в utf-8

Спустя 1 минута, 43 секунды (6.08.2011 - 10:39) Serg_php написал(а):
ДА, но я не могу его поменять, я меняю его а он при обновлении все равно стает ANSI

Спустя 2 минуты, 20 секунд (6.08.2011 - 10:41) Serg_php написал(а):
Кодировку на UTF-8 поменял, но все равно, но уже другие кракозябры

Спустя 9 минут, 17 секунд (6.08.2011 - 10:50) Serg_php написал(а):
Я так понял мне нужна кодировка UTF-8 без (BOM)? Но я не могу сменить на нее. Просто на ЮТФ-8 меняет, а когда ставлю UTF-8 без (BOM) то меняет на ANSI

Спустя 5 минут, 52 секунды (6.08.2011 - 10:56) alex12060 написал(а):
UTF8 without BOM
и хэдэр:


header('Content-type: text/html; charset=utf-8');

Спустя 2 минуты, 47 секунд (6.08.2011 - 10:59) Serg_php написал(а):
Цитата (alex12060 @ 6.08.2011 - 07:56)
UTF8 without BOM
и хэдэр:


header('Content-type: text/html; charset=utf-8');

ДА, я пробовал

header('Content-type: text/html; charset=utf-8');
, на монитор выводило, но все равно из БД не смог достать то что мне нужно

Спустя 2 минуты, 38 секунд (6.08.2011 - 11:01) Serg_php написал(а):
В переменную $array1 ничего не вытаскивает( когда просто без условия пробую, все работает, только ставлю
WHERE country = $sity 
все... возвращает пустоту

Спустя 1 минута, 38 секунд (6.08.2011 - 11:03) Serg_php написал(а):
БД в кодировке utf8_unicode_ci

Спустя 1 минута, 25 секунд (6.08.2011 - 11:05) Winston написал(а):
Цитата (Serg_php @ 6.08.2011 - 11:01)
WHERE country = $sity

Это из-за того, что значения нужно в одинарные кавычки брать.
$array1 = mysql_query ("SELECT * FROM `user` WHERE `country` = '" . $sity . "'");




Спустя 35 секунд Winston написал(а):
Цитата (Serg_php @ 6.08.2011 - 11:03)
БД в кодировке utf8_unicode_ci

blink.gif
А почему не utf8_general_ci ?

Спустя 1 минута, 33 секунды (6.08.2011 - 11:06) Serg_php написал(а):
Цитата (Winston @ 6.08.2011 - 08:05)
Цитата (Serg_php @ 6.08.2011 - 11:01)
WHERE country = $sity

Это из-за того, что значения нужно в одинарные кавычки брать.
$array1 = mysql_query ("SELECT * FROM `user` WHERE `country` = '" . $sity . "'");

Спасибо, сейчас попробую

Спустя 58 секунд (6.08.2011 - 11:07) Serg_php написал(а):
Цитата (Winston @ 6.08.2011 - 08:05)
Цитата (Serg_php @ 6.08.2011 - 11:03)
БД в кодировке utf8_unicode_ci

blink.gif
А почему не utf8_general_ci ?

А какая нужна?

Спустя 3 минуты, 2 секунды (6.08.2011 - 11:10) Winston написал(а):
Цитата (Serg_php @ 6.08.2011 - 11:07)
А какая нужна?

Цитата (Serg_php @ 6.08.2011 - 11:07)
utf8_general_ci


Спустя 6 минут, 44 секунды (6.08.2011 - 11:17) alex12060 написал(а):
Еще попробуй, при открытии соединения с БД сделать следующее:


$db = mysql_connect('fff', 'sss', 'sss');
mysql_select_db('aaa', $db);
mysql_query('SET NAMES utf8');

Спустя 1 минута, 31 секунда (6.08.2011 - 11:18) Serg_php написал(а):
Все поменял, но проблема осталась, вот код
<?php

require_once ("config/db.php");
//header("Content-Type: text/html; charset=utf-8");
$sity = $_POST["sity"];
echo ($sity);
$array1 = mysql_query ("SELECT * FROM `user` WHERE `country` = '" . $sity . "'");

echo ('ПЕременная'.$array1);
while ($my1 = mysql_fetch_array ($array1)) {

echo " <tr><td><div id=\"id\">\"".$my1["id_user"]."</div></td><td><div id=\"name\">\"".$my1["fist_name"]."</div></td><td><div id=\"country\">\"".$my1["country"]."</div></td><td><div id=\"city\">\"".$my1["siti"]."</div></td><td width=\"20%\"> </td></tr>";
}
при выводе echo ($sity); - кракозябры, а при echo ('ПЕременная'.$array1); - Resource id #4. это какой то капец

Спустя 2 минуты, 28 секунд (6.08.2011 - 11:21) Serg_php написал(а):
Цитата (alex12060 @ 6.08.2011 - 08:17)
Еще попробуй, при открытии соединения с БД сделать следующее:


$db = mysql_connect('fff', 'sss', 'sss');
mysql_select_db('aaa', $db);
mysql_query('SET NAMES utf8');

Сделал, теперь вообще все кракозябрами. ТО толкьо было те данные что переданны с помощю LOAD а теперь вообще все. Почему я не могу перекодировать файлы на ЮТФ-8 без (BOM)?

Спустя 1 минута, 36 секунд (6.08.2011 - 11:22) alex12060 написал(а):
Serg_php

Перекодируй, поставь то, что я посоветовал, расскоментируй хэдэр и посмотри как что будет. А еще, будет круто, если ты покажешь свои кракозябры.

Спустя 3 минуты, 39 секунд (6.08.2011 - 11:26) Serg_php написал(а):
Цитата (alex12060 @ 6.08.2011 - 08:22)
Serg_php

Перекодируй, поставь то, что я посоветовал, расскоментируй хэдэр и посмотри как что будет. А еще, будет круто, если ты покажешь свои кракозябры.

Роскоментировал, все перекодировал, получилось)) на монитор выводит нормально, но почему вместо выбраной страны возврощает
Resource id #4
? сейчас покажу что получилось. Мин

Спустя 9 минут, 55 секунд (6.08.2011 - 11:36) alex12060 написал(а):
Все правильно выводит. просто ты пытаешься вывести не результат, а ресурс на выборку.

Спустя 1 минута, 17 секунд (6.08.2011 - 11:37) Winston написал(а):
Цитата (Serg_php @ 6.08.2011 - 11:18)
$array1 = mysql_query ("SELECT * FROM `user` WHERE `country` = '" . $sity . "'");
echo ('ПЕременная'.$array1);

Цитата (Serg_php @ 6.08.2011 - 11:18)
Resource id #4.

Все правильно потому, что ты не обработал $array1 потому и выводит resource

Спустя 1 час, 50 минут (6.08.2011 - 13:27) twin написал(а):
С кодировками то вы разобрались, это хорошо конечно.
Но почему никто не подсказал, что выборку нужно делать по ключу?

Спустя 5 часов, 22 минуты, 46 секунд (6.08.2011 - 18:50) Serg_php написал(а):
Цитата (twin @ 6.08.2011 - 10:27)
С кодировками то вы разобрались, это хорошо конечно.
Но почему никто не подсказал, что выборку нужно делать по ключу?

ТОисть сделать вторичный ключь?

Спустя 30 секунд (6.08.2011 - 18:51) Serg_php написал(а):
Извените что отвлекся, свет пропал(( вот только включили

Спустя 3 минуты, 37 секунд (6.08.2011 - 18:54) Serg_php написал(а):
Может просто добавить еще одно поле, id_country и делать по нему выборку, допустим если 1- значит Украина, если 2 - Россия и т д..?

Спустя 22 часа, 42 минуты, 43 секунды (7.08.2011 - 17:37) Serg_php написал(а):
ТЕма закрыта!!!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.