|
|
|
| Дело вот в чем:
сделал таблицу в базе данных
и стоит задача заносить туда данные на русском
Английские слова принимает и записывает в базу данных
с помощью функции mysql_query(INSERT INTO tablica Values(......))
а русские буквы не хочет, даже если заношу русское слово только в один столбик
а в другие все по английскому или цифры, то есть не делает абсолютно никакой новой записи в
таблице
В файле подключения к базе данных прописал:
mysql_query('set names cp1251');
mysql_query("set character_set_client='cp1251'");
mysql_query("set character_set_results='cp1251'");
mysql_query("set character_set_connection='cp1251'");
mysql_query("set character_set_database='cp1251'");
mysql_query("set collation_connection='cp1251_general_ci'");
но это не помогает.
Причем в консоли (Windows) на команду: mysql -u root -p выдается ошибка
mysql: Character set 'cp1251' is not compiled character set and is not specified in the 'C:\mysql\\share\charsets\Index.xml' file
Может что-то при установке потерялось?
версия MySQL - 5.0.45-community-nt | |
|
|
|
|
|
|
|
для: Vasilij
(17.10.2007 в 14:00)
| | >mysql: Character set 'cp1251' is not compiled character set and is not specified in the 'C:
>\mysql\\share\charsets\Index.xml' file
Проследите, чтобы в конфигурационном файле my.ini директива default-character-set=cp1251 присутствовала только в секции [mysqld] и отсутствовала в секции [mysql]. | |
|
|
|
|
|
|
|
для: Vasilij
(17.10.2007 в 14:00)
| | Т.е. вообще записи не появляется? А как добавляете запись? Обработку ошибок производите? Что сообщает MySQL сервер? | |
|
|
|
|
|
|
|
для: cheops
(17.10.2007 в 14:29)
| | Запись добавляю через форму (открыв файл в браузере) и далее работает скрипт PHP
англ. слова нормально записываются
но если есть хоть одно слово русское то записи не происходит вообще
я в этом новичок, и пока не знаю где искать записи об ошибках MySQL
тестирую все это на локальном хосте (Windows) | |
|
|
|
|
|
|
|
для: Vasilij
(17.10.2007 в 14:34)
| | >и далее работает скрипт
Приведите окрестности INSERT-запроса | |
|
|
|
|
|
|
|
для: cheops
(17.10.2007 в 14:39)
| | $name=htmlspecialchars(stripslashes($_POST['name']));
$phone=htmlspecialchars(stripslashes($_POST['phone']));
$salary=htmlspecialchars(stripslashes($_POST['salary']));
$query="INSERT INTO spysok VALUES('$name', '$phone', '$salary')";
mysql_query($query); | |
|
|
|
|
|
|
|
для: Vasilij
(17.10.2007 в 14:40)
| | Исправьте следующим образом
<?php
$name=htmlspecialchars(stripslashes($_POST['name']));
$phone=htmlspecialchars(stripslashes($_POST['phone']));
$salary=htmlspecialchars(stripslashes($_POST['salary']));
$query="INSERT INTO spysok VALUES('$name', '$phone', '$salary')";
if(!mysql_query($query)) exit("Ошибка - ".mysql_error()."<br>Запрос - ".$query);
?>
|
Что теперь выводит? | |
|
|
|
|
|
|
|
для: cheops
(17.10.2007 в 14:47)
| | Выводит вот что:
Ошибка - Incorrect string value: '\xD4\xE0\xEC\xE8\xEB\xE8...' for column 'name' at row 1
Запрос - INSERT INTO spysok VALUES('Фамилия', '000-000', '0.00')
может поменять тип данных в таблице с char(60) на text | |
|
|
|
|
|
|
|
для: Vasilij
(17.10.2007 в 14:53)
| | А файл со скриптом в какой кодировке набран? | |
|
|
|
|
|
|
|
для: cheops
(17.10.2007 в 14:58)
| | Все делал в кодировке windows-1251
начиная от начала страницы
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
и до конца
файл набраный в обычном блокноте (Windows) | |
|
|
|
|
|
|
|
для: Vasilij
(17.10.2007 в 15:02)
| | Когда сохраняете файл в выпадающем списке Кодировке выбирате ANSI или Юникод? | |
|
|
|
|
|
|
|
для: cheops
(17.10.2007 в 16:11)
| | Ничего не выбираю а просто сохраняю файл нажав CTRL+S
файлы с расширением .php
Выбор кодировки появляется только если нажать СОХРАНИТЬ КАК | |
|
|
|
|
|
|
|
для: Vasilij
(17.10.2007 в 16:23)
| | Хм... он ведь помоему по умолчанию в UNICODE файлы сохраняет... | |
|
|
|
|
|
|
|
для: cheops
(17.10.2007 в 16:57)
| | Прошу прощения за беспокойство
За последние 20 минут я сделал следующее:
(из-за того что были подозрения, что была плохая установка базы данных, может файл с интернета был испорчен, я не проверял суму md5)
снес базу данных вообще
скачал еще раз (каких то 43 МБ)
установил
Почему то работает:)
и русские слова уже записывает в базу данных
и консоль MySQL появилась (до этого появлялась на одну десятую секунды и исчезала) | |
|
|
|