|
|
|
| Подскажите пожалуйста почему у меня в базу данных не вводятся русские буквы? Английские норм, цифры тоже, а русские никак!
Кодировка таблиц указана как, в конфиге прописал - mysql_query("SET NAMES 'cp1251'");
все равно не хотит. ((
вот код:
$text = $_POST['fio'];
$arr = preg_split("|[^\d\w]+|is", $text);
$i = 0;
$fam = $arr[$i];
$i++;
$name = $arr[$i];
$i++;
$sour = $arr[$i];
$zap_gl = "INSERT INTO tk_sotr ( `id` , `foto` , `fam` ,
`name` , `sour` , `date_d` , `date_m` , `date_y` , `dolj` ,
`otdel` , `m_tel` , `c_tel` , `pha` , `cab` , `kto` ,
`kem` , `pos` , `hide`, `ip` ) VALUES ( '', '', '$fam',
'$name', '$sour', '$date_d', '$date_m', '$date_y',
'$id_dol', '$id_ot', '".$_POST['m_tel']."', '".
$_POST['c_tel']."', '".$_POST['pha']."', '".$_POST['cab']."', '".$_POST['kto']."', '".
$_SESSION['id_pass']."', '0', 'show' , '".
$_SERVER['REMOTE_ADDR']."' )";
|
| |
|
|
|
|
|
|
|
для: Vincento
(23.12.2010 в 16:27)
| | комманды в MySQL:
SHOW CREATE DATABASE mybase;
SHOW CREATE TABLE userlist;
что показывают? | |
|
|
|
|
|
|
|
для: lightning.say
(23.12.2010 в 16:53)
| | SHOW CREATE DATABASE mybase; - *!40100 DEFAULT CHARACTER Set..
SHOW CREATE TABLE userlist; - Table 'tk.userlist' doesn't exist
а смысловую нагрузку можете рассказать? почему латинница вводится то? | |
|
|
|
|
|
|
|
для: Vincento
(23.12.2010 в 17:15)
| | извиняюсь, имелось в виду ваша таблица tk_sotr и ваша бд. Нужно чтобы кодировка бд и кодировка таблицы совпадали, тогда и отображаться будет нормально все | |
|
|
|
|
|
|
|
для: lightning.say
(24.12.2010 в 01:31)
| | совершенно это необязательно.
[sub]Ну вот что с Вами делать?
Мимо пройти - ерунда останется утверждение не имеющее ничего общего с истиной, которое потом другие читать будут, и теряться от несоответствия реалиям.
Указать на ошибку - на дыбы взовьетесь. Кто мол я такой, чтобы Вас поправлять. Ну и что теперь?[/sub] | |
|
|
|
|
|
|
|
для: Trianon
(24.12.2010 в 01:42)
| | почему нет? сами же говорили об этом... мол кодировка разная, какие еще вопросы... | |
|
|
|
|
|
|
|
для: lightning.say
(24.12.2010 в 02:00)
| | Я говорил о разных кодировках сайта (приложения, charset of content-type text/html) , клиентского соединения (то есть кодировки, в которой принимается запрос character_set_connection, кодировки, в которой выдается результат character_set_results ) и кодировки самих полей в таблицах.
Вот это должно совпадать обязательно.
Кодировка самой БД тоже лучше бы соответствовала - тогда при создании новых таблиц без явного указания, в таблицах с кодировкой будет ОК. В остальном влияния почти нет.
Основной акцент был на соответствие content-type , set names и table/column charsets. Не БД. | |
|
|
|
|
|
|
|
для: Trianon
(24.12.2010 в 02:25)
| | Вы так много говорите что уже наверно забыли кому что советовали, в моей теме изначально шла речь о кодировке таблицы и кодировке бд, или будете отказыватьсяя от своих слов?
http://softtime.ru/forum/read.php?id_forum=3&id_theme=77188&page=1 | |
|
|
|
|
|
|
|
для: lightning.say
(24.12.2010 в 11:31)
| | В той теме Вы в первом посте указали, что в конфиг-файле у Вас применяется
mysql_query("SET character_set_client='cp1251'");
mysql_query("SET character_set_results='cp1251'");
mysql_query("SET character_collation_connection='cp1251_general_ci'");
|
На этом и были основаны дальнейшие рекомендации
В последнем вдруг ни с того ни с сего оказалось, что конфиг этот используется минимум не везде.
И теперь еще имеете наглость что-то дышать по поводу моих слов? | |
|
|
|
|
|
|
|
для: Trianon
(24.12.2010 в 12:35)
| | т.е. вы хотите сказать что если кодировка базы будет допустим latin1 а таблицы cp1251 и все вышеперечисленные параметры такие же как написанно, то отображаться будет все хорошо? | |
|
|
|
|
|
|
|
для: lightning.say
(24.12.2010 в 14:01)
| | Если скрипт Ваш в windows-1251, таблицы в cp1251, реальное содержимое в них в windows-1251, и Вы указываете при установлении соединения Вы указываете SET NAMES 'cp1251' , то кодировка БД нигде влияния не оказывает.
Два исключения:
1.Весьма экзотический запрос LOAD DATA INFILE будет брать файл в кодировке выбранной БД, в скриптах php практически не применяемый.
2. Попытка создать новую таблицу без указания кодировки. Тогда таблица унаследует кодировку БД.
Пруфлинк:http://dev.mysql.com/doc/refman/5.1/en/charset-database.html | |
|
|
|
|
|
|
|
для: Trianon
(24.12.2010 в 12:35)
| | . | |
|
|
|
|
|
|
|
для: lightning.say
(24.12.2010 в 11:31)
| | я бы на вашем месте не спорил, а попытался бы понять что вам говорят
>> автор: lightning.say (24.12.2010 в 01:31)
>>Нужно чтобы кодировка бд и кодировка таблицы совпадали
>> автор: Trianon (24.12.2010 в 01:42)
>>совершенно это необязательно
>>Я говорил о разных кодировках сайта (приложения, charset of content-type text/html) , клиентского соединения (то есть кодировки, в которой принимается запрос character_set_connection, кодировки, в которой выдается результат character_set_results ) и кодировки самих полей в таблицах.
>>Вот это должно совпадать обязательно.
>>Кодировка самой БД тоже лучше бы соответствовала - тогда при создании новых таблиц без явного указания, в таблицах с кодировкой будет ОК.
в примере по ссылке, как раз, говорится о клиентском соединении ( ваш set names ), и о кодировках полей в таблицах (с этим у вас было все нормально). | |
|
|
|
|
|
|
|
для: Trianon
(24.12.2010 в 01:42)
| | вы прям как Иисус глаголящий истину, а я по вашему лжепророк? я лишь высказываю свое субъективное мнение которое может быть либо истиной или ложью как и у любого здесь присутствующего... и пусть в меня первым бросит камень говорящий одну лишь истину. | |
|
|
|
|
|
|
|
для: Vincento
(23.12.2010 в 16:27)
| | Какая кодировка полей то стоит? | |
|
|
|
|
|
|
|
для: neadekvat
(23.12.2010 в 17:32)
| | cp1251_general_ci | |
|
|
|
|
|
|
|
для: neadekvat
(23.12.2010 в 17:32)
| |
$arr = preg_split("|[^\d\w]+|is", $text);
| - регулярное выражение не работает с киррилической строкой, как исправить, подскажите? | |
|
|
|
|
|
|
|
для: Vincento
(24.12.2010 в 00:39)
| | Мудрить не стал как хотел , использовал стандарт
$arr = preg_split("/[\s,]+/", $text);
|
| |
|
|
|