Задавайте вопросы, мы ответим
Вы не зашли.
помогайте не получается скачал mysql с официального сайта установил, установил phpmyadmin, создал приложение написанное на (как не странно на php ... в результате у меня работает приложение как надо а вот на сервере нет...
у меня стоит денвер кстати...
пишет крикозяблики я установил в базе кодировку cp1251_general_ci
на станице такая же кодировка и не получается....
пытался еще unicode т.е. utf-8 - utf8_unicode_ci
при cp1251_general_ci пишет ошибку т.е. вообще не работает
при utf8_unicode_ci записывает в базу крикозяблики...
(mysql была скачена с германского зеркала, ЕСЛИ ЭТО ИМЕЕТ ЗАНЧЕНИЕ)
Неактивен
1. какая кодировка страницы используется в php
2. какая кодировка таблиц в БД
и думается мне что вами не указана кодировка для получения данных от БД -> mysql_query("SET NAMES 'cp1251'");
Если не указывать то данные выдаются в UTF8 и на страничке они будут выглядеть знаками ? и такими же знаками в базе
Неактивен
Почему-то есть ощущение, что <?php header("Content-type: text/html; charset=cp1251"); ?> решит проблему.
Но это я так, о предположениях. Когда пишете «не работает как надо» — пишите, что именно не работает.
Также не мешает описать способ, которым Вы переносите базу со своей машины на сервер. Ну и настройки
сервера тоже не мешает смотреть: ведь именно там не работает, а не у Вас на машинке.
Неактивен
что то ничего не понимаю не хочет работать и все....
в параметрах mySql в файле my.ini стоит
[mysql]
default-character-set=cp1251
[mysqld]
default-character-set=cp1251
внутри файла php стоит следующее (!сразу же после объявления соединения)
mysql_query("SET character_set_client='cp1251'");
mysql_query("SET character_set_results='cp1251'");
mysql_query("SET SESSION collation_connection = 'cp1251_general_ci'");
mysql_query("SET NAMES 'cp1251'");
на стороне mysql стоит кодировка cp1251_general_ci
,помогите пожалуйсто все сделал у меня на компьютере все работает у меня стоит денвер...
Неактивен
кстати со стороны сервера стоит windows 2000 но мне кажется это не важно...
Неактивен
А в чем проявляется «не хочет работать и все»? Настройки типично «под виндоус», что Вас
конкретно не устраивает в работе сервера?
Неактивен
при записи в базу он вот что пишет....
Ошибка запроса: Incorrect string value: '\xD0\x97\xD0\xB0\xD0\xBC...' for column 'id_VidRabot' at row 1 (код ошибки: 1366)
думаю тут все ясно...
Неактивен
Ну, мне тут ясно, что Вы пытаетесь записать строку в колонку, которая принимает
числа, и MySQL не может сконвертировать одно в другое... я бы на месте MySQL
сделал то же самое
Неактивен
нет это не число... это строка из русских символов... а что делоть то? вы подскажете?
Неактивен
Поле `id_VidRabot` какой тип имеет?
Неактивен
И заодно show create table на эту табличку покажите, там, небось, latin1 написано...
Неактивен
нет и там все нормально на стороне Mysql кодировка стоит cp1251_general_ci
единственное что мне не нравиться в работе так это то что когда заходишь в phpMyAdmin... там выдает ошибку
Ошибка
Ответ MySQL:
#1045 - Access denied for user 'root'@'localhost' (using password: YES)
phpMyAdmin не смог установить соединение с сервером MySQL. Проверьте хост, имя пользователя и пароль установленные в конфигурационном файле config.inc.php и удостоверьтесь, что они соответствуют данным полученным от администратора сервера MySQL.
...................
но рядом есть ссылка - "Открыть phpMyAdmin в новом окне"
через эту ссылку я и работаю...
вот таки (
Неактивен
система все равно работает не смотря на эту ошибку числа и английские буквы пишутся...
Неактивен
phpmyadmin — не лучший клиент, настраивать его тяжело, и многие не справляются.
Попробуйте воспользоваться стандартным консольным клиентом.
Васин и мой вопросы остаются в силе — вы на них не ответили.
Неактивен
хммммм...
>Поле `id_VidRabot` какой тип имеет?
имеет тип tinytext с кодировкой cp1251_general_ci....
> И заодно show create table на эту табличку покажите, там, небось, latin1 написано...
я создавал таблицу в phpMyAdmin...
..........................................
я не скажу что я профи просто, то над чем я щас работаю, единичный случай в моей жизни, больше я не буду писать инет приложения...
как мне кажется
Неактивен
Делать из id блобовое поле... я боюсь представить, что у Вас там за база...
В любом случае, я почти уверен в том, что поле там latin1.
Даже если Вы создавали таблицу в phpMyAdmin — она все равно таблица,
и все равно SHOW CREATE TABLE tablename будет работать.
Неактивен
MyphpAdmin странный какой то сделал запрос своей базы:
SHOW CREATE TABLE DATABASE
выдал следующую ошибку....
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'database' at line 1
SHOW CREATE TABLE DATABASE
Неактивен
Нужно
SHOW CREATE TABLE tablename
где tablename - имя таблицы.
Неактивен
Если имя таблицы database, то его надо заключить в обратные кавычки (там, где ё на клавиатуре),
т.к. это ключевое слово.
Неактивен
я перепутал... база database а таблица KARTA....
вот запрос... может быть все ужасно, но так надо для производства...
Хост: localhost
База данных: database
Время создания: Сен 22 2009 г., 12:55
Создан: phpMyAdmin 3.2.0.1 / MySQL 5.1.37-community
SQL-запрос: SHOW CREATE TABLE `KARTA`;
Строки: 1
CREATE TABLE `karta` (
`id_Nomer` int(10) unsigned NOT NULL,
`id_Date` tinytext NOT NULL,
`id_Time` varchar(20) NOT NULL,
`id_NomerIBM` tinytext NOT NULL,
`id_FPolizovatel` tinytext NOT NULL,
`id_IPolizovatel` tinytext NOT NULL,
`id_OPolizovatel` tinytext NOT NULL,
`id_OtdelPolizovatelja` tinytext NOT NULL,
`id_VidRabot` tinytext NOT NULL,
`id_Opicanie` tinytext NOT NULL,
`id_ChtoCdelano1` tinytext NOT NULL,
`id_Neicpravnocti` tinytext NOT NULL,
`id_ChtoCdelano2` tinytext NOT NULL,
`id_Prichina` tinytext NOT NULL,
`id_Podrobnocti` tinytext NOT NULL,
`id_KtoCdelal` tinytext NOT NULL,
`id_Vipolnenie` varchar(20) NOT NULL,
`id_put_file` tinytext NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=cp1251
Неактивен
Хм, тогда это очень-очень странно. Теоретически все должно работать правильно.
На сервере стоит MySQL той же версии, что у Вас локально? Нет ли там установок
игнорировать клиентскую кодировку? На сервере у таблицы та же кодировка, что
у Вас локально? Попробуйте выполнить этот запрос на нем?
Посмотреть текущие значения кодировки можно, выполнив запрос
show variables like '%char%' — для client и для connection должно стоять cp1251.
Неактивен
да вы правы тут все не так как надо...
------------------------------------------
Результат SQL-запроса
Хост: localhost
База данных:
Время создания: Сен 23 2009 г., 09:08
Создан: phpMyAdmin 3.2.0.1 / MySQL 5.1.37-community
SQL-запрос: show variables like '%char%';
Строки: 8
Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database cp1251
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8
character_sets_dir C :\Server\MySQL\share\charsets\
---------------------------------------------------
но как исправить эти значения... про эти настройки нигде в книгах не написано... по крайней мере я не видел...
Неактивен
Я имел в виду — выполнить эти запросы из клиента, у которого возникают
сложности с работой: у phpmyadmin свои настройки, разумеется, т.к. свое
подключение.
Неактивен
а это как??? в php код положить запрос??? но он выполняется на стороне сервера так и задумано была php... не понял короче если честно как это сделать...
да кстати я менял кодировки в таблице запросом
SET NAMES cp1251;
не получилось, если есть у вас возможность, то как поменять переменные???
character_set_results
character_set_client
character_set_connection
Неактивен
Да, любой запрос выполняется на стороне сервера. И нужно написать в php, да.
К сожалению, чтобы понять, где именно что-то не так — прийдется экспериментировать.
Кстати, Вы точно уверены, что на сервере структура таблица та же самая, включая
кодировки? phpMyAdmin Вы подключаете к серверу ведь?
Неактивен