PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 11
bavv Отправлено: 28 Апреля, 2007 - 13:59:04 • Тема: ошибка при вводе данных в TEXT и BLOB • Форум: SQL и Архитектура БД

Ответов: 14
Просмотров: 193
кроме того если я вставляю половину с этого текста - все нормально
bavv Отправлено: 28 Апреля, 2007 - 12:49:04 • Тема: ошибка при вводе данных в TEXT и BLOB • Форум: SQL и Архитектура БД

Ответов: 14
Просмотров: 193
valenok пишет:
bavv
Какая у вас операционная система ?
Можно ваш код ? Точнее то что вы запускаете в командной строке.

--

Я посмотрел, через скрипты подход смены кодировки работает.

А из командной строки идёт
MYSQL Character set cp1251 is not a compiled Character set and is not specified in the "C:mysql\sharecharsetsindex.xml" file

MYSQL Набор символов cp1251 не является скомпилированным Набором символов и не определен в файле "C:mysql\sharecharsetsindex.xml"

--

Проблема заключается в том, что MySQL ищет файл набора символов по вшитому в исполняемый файл пути C:mysql. Необходимо настроить my.ini на точный путь до файла с набором символов. Задаётся он директивой - character-sets-dir. Вписывается данная директива в разделы [client] и [mysqld] конфигурационного файла.

В моём случае директива выглядит следующим образом:
character-sets-dir="С:/Program Files/Programming/MySQL Server 5.0/share/charsets"

Делай по аналогии.
После изменений не забудь перезапустить MySQL сервис.


ОС: XP Pro
Код:

MYSQL>SET NAMES `cp1251`;
MYSQL>SET character_set_client='cp1251';
MYSQL>SET character_set_results='cp1251';
MYSQL>SET collation_connection='cp1251_general_ci';
MYSQL>INSERT INTO furniture (info1)
VALUES ('Winkhaus AutoPilot має свій неповторний ступінь надійності завдяки продуманій конструкції, яка робить можливим системне з'єднання частин фурнітури з силовим і геометричним замиканням. Підвержені особливим навантаженням частини, такі як грибкові болти і защіпки, виконані із міцної сталі.Нова геометрична силовая форма блокування штифту петлі оптимально перешкоджає випаданню штифту. Нове покоління кронштейнів і петель допускає вагу стулки до 130 кг. Конструкція периметрального з'єднання оптимально розподіляє навантаження на частини фурнітури, схильні найбільшому навантаженню. Таким чином виникає оптимальний розподіл навантаження на елементи кріплення, яке гарантує довгострокову надійну роботу.
Winkhaus AutoPilot - система елементів, що дозволяє задовольнити індивідуальні вимоги безпеки різного степеня складності');

В итоге выдоет ошибку о которой я говорил.
bavv Отправлено: 28 Апреля, 2007 - 12:00:20 • Тема: ошибка при вводе данных в TEXT и BLOB • Форум: SQL и Архитектура БД

Ответов: 14
Просмотров: 193
valenok пишет:
попробуйте всё таки убрать игнорирование пользовательской кодировки в my.ini


уже убрал.
bavv Отправлено: 28 Апреля, 2007 - 11:57:55 • Тема: ошибка при вводе данных в TEXT и BLOB • Форум: SQL и Архитектура БД

Ответов: 14
Просмотров: 193
valenok пишет:
Наверное раньше никто не трогал my.ini =]
С командной строки просто добавьте до самого ввода следующее:
SET NAMES `cp1251`;


только что попробывал.
не помогает
все равно ош. 1406 'data too long';
вставил тескт на 10 предложений.
bavv Отправлено: 28 Апреля, 2007 - 11:54:06 • Тема: ошибка при вводе данных в TEXT и BLOB • Форум: SQL и Архитектура БД

Ответов: 14
Просмотров: 193
valenok пишет:
PHP:
скопировать код в буфер обмена
  1.  <?PHP  
  2.     mysql_query ("SET NAMES `cp1251`");  
  3.     mysql_query ("set character_set_client='cp1251'");  
  4.     mysql_query ("set character_set_results='cp1251'");  
  5.     mysql_query ("set collation_connection='cp1251_general_ci'");  
  6.   ?>


Эта проблема существует только в mysql 5
Смена кодировки БД, таблицы и т.д. не помогает.
Англ. яз прекрасно вставляется.



http://ru.php.net/mysql/
"Замечание: Если вам требуется поддержка кодировок (отличных от latin, установленной по умолчанию), вам придётся установить внешнюю библиотеку, скомпилированную с их поддержкой."

Не смотря на то, все советуют ставить
mysql_query ("SET NAMES `cp1251`");
и я в том числе.


ок. хорошо.
Но если мне нужно внести данные с командной строки?

к тому же у меня MySQL 4.0
И почему раньше данные свободно вносились?
bavv Отправлено: 28 Апреля, 2007 - 11:34:29 • Тема: ошибка при вводе данных в TEXT и BLOB • Форум: SQL и Архитектура БД

Ответов: 14
Просмотров: 193
valenok пишет:
эта проблема возникает когда вставляешь utf8 данные
Укажите после подключения
PHP:
скопировать код в буфер обмена
  1.  
  2.  <?PHP
  3.    mysql_query ("set character_set_client='cp1251'");  
  4.    mysql_query ("set character_set_results='cp1251'");  
  5.    mysql_query ("set collation_connection='cp1251_general_ci'");  
  6.  ?>  



Из-за неверно выставленной кодировки в базу записываются данные в виде html сущностей (по моему). Соответственно каждый символ съедает не один байт, а шесть (кажется). Что-то вроде ( &#039; ).

Правильное решение только одно - настроить кодировку БД.
Из него вытекает:
1) При соединении с БД устанавливать корректный SET NAMES.
2) Использовать Юникод
3) Настроить на кирилицу конфигурационный файл MySQL - my.ini.


У меня по умолчанию стоит кодировка cp1251.
К тому же я вношу в базу чистый тект вырезанный из блокнота посредством командной строки.
bavv Отправлено: 28 Апреля, 2007 - 10:57:24 • Тема: ошибка при вводе данных в TEXT и BLOB • Форум: SQL и Архитектура БД

Ответов: 14
Просмотров: 193
Как я понимаю проблема тоже в конфгурации MySQL.
При вводе данных в столбец с типом TEXT, LONGTEXT или BLOB, LONGBLOB.
выдает ошибку "data too long 1406".

На самом деле вес информации которую я вношу не превышает 30К.
При чем раньше в эту же таблицу, я восил данные и большего объема.
Просто вдруг с определенной записи начинает выдавать таукю ошибку.

То же самое возникает с абсолютно разными таблицами и базами.

MySQL установлен локально. Я использую InnoDB.

В мануале есть рекомендация увеличить параметр max_allowed_packed на стророне клиента и сервера.
Я пробывал - ничего не дало.

Посоветуйте, что-нибудь по теме, пожалуйста.

bavv Отправлено: 28 Апреля, 2007 - 10:46:09 • Тема: Проблема с кодировкой PHP5 + MySQL • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 69
может кому интересно и поможет кому-то еще, для того чтобы не устанавливать кодировку после каждого соединения.
На локальной машине я установил в my.ini следующую строку.
skip-character-set-client-handsh ake
которая указывает серверу игнорировать кодировку указанную клиентом.

Спасибо всем за отзывчивость.
bavv Отправлено: 21 Апреля, 2007 - 12:05:52 • Тема: Проблема с кодировкой PHP5 + MySQL • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 69
При разработке сайта, я пользовался следующей связкой:
PHP 4.4.2 + MySQL 4 и Apache 2.2
Все работало нормально, единственное, PHP работал в режиме CGI, то есть не как служба apache.
Теперь возникла необходимость в подключении PHP как службы (это сваязано с вопросами аутентификации). Поэтому, так-как Apache упорно не хотел подключать библиотеку php4apache2.dll (я их перепробывал несколько штук), я поставил PHP 5.2.1
в котором есть библиотека php5apache2_2.dll которорая в свою очередь стала нормально. Далее подключил необходимые библиотеки MySQL и возникла следующая проблема:
та информация на русском языке которая извлекается с базы данных, представляется в виде "???? ??????? ???? ????? ??????" то есть явно руская кодировка не распознается.
В БД вся информация в win-1251
Может кто сталкивался с таким и знает решение?
bavv Отправлено: 28 Февраля, 2007 - 17:35:51 • Тема: передача параметром методом GET • Форум: Программирование на PHP

Ответов: 7
Просмотров: 621
-SCHATTEN- пишет:
а ты уверен что правильно всё написал ?

может



а в чем разница между твоим и моим?
bavv Отправлено: 28 Февраля, 2007 - 16:09:19 • Тема: передача параметром методом GET • Форум: Программирование на PHP

Ответов: 7
Просмотров: 621
Подсскажите, пожалуйста
такой код:

<a href="content.php?content_type=....">

в content.php

echo $_GET['content_type'] -

ничего не выводит. в чем может быть причина?

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB