Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: помогите с ошибками
Форумы портала PHP.SU » » Кодировки и все смежное » помогите с ошибками

Страниц (6): [1] 2 3 4 5 6 »
 

1. Ezi - 15 Августа, 2011 - 19:55:47 - перейти к сообщению
Разрабатывал скрипт и порвался пупок Ха-ха шутка

Помогите исправить ошибки:
1) кодировка БД

Из скрипта в БД данные заносятся каракулями, при прочтении всё ОК, но если непосредственно ввести данные в БД, то смотрится всё ок, но в скрипте не работает

2) "ША"

Вобщем проблема в том, точ одна бувка нашего Русского алфавита не обрабатывается, это буква - Ш
Даже не понимаю в чём проблема, скрины вам сейчас покажу
2. КЫР - 15 Августа, 2011 - 19:58:06 - перейти к сообщению
А таблица в какой кодировке?
3. Ezi - 15 Августа, 2011 - 20:00:32 - перейти к сообщению
2-3 запись илюстрирует проблему с "ША" 4ю запись из бд сделал
(Добавление)
Таблица в кодировке UTF-8 general ci
4. КЫР - 15 Августа, 2011 - 20:02:52 - перейти к сообщению
скрипты тоже в utf-8?
5. Ezi - 15 Августа, 2011 - 20:03:41 - перейти к сообщению
MySQL charset: UTF-8 Unicode (utf8)

Так же в скрипте все данные в UTF-8 обрабатываю и указываю кодировку в которой работать с базой
6. КЫР - 15 Августа, 2011 - 20:07:08 - перейти к сообщению
была такая же проблема
помогло iconv("windows-1251", "UTF-8", $string);
Правда не помню в какой последовательности кодировки идут, попробуй оба варианта
7. Ezi - 15 Августа, 2011 - 20:09:18 - перейти к сообщению
Листинг 1:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. iconv_set_encoding("internal_encoding", "UTF-8"); //вход
  3. iconv_set_encoding("output_encoding", "UTF-8");   //работа
  4. iconv_set_encoding("input_encoding", "UTF-8");    //выход
  5. ?>


Я этот файл в каждый скрипт включаю
8. КЫР - 15 Августа, 2011 - 20:13:41 - перейти к сообщению
ну если кодировка бд utf8_general_ci, то попробуй конвертировать в windows-1251
я не знаю технических деталей, но у меня всю жизнь корректно в utf-8 бд писались данные windows-1251, тогда как данные в utf-8 писались так, как у тебя
9. Ezi - 15 Августа, 2011 - 20:19:46 - перейти к сообщению
Не понял Я установил в БД кодировку по умолчанию win 1251 проблема с "ша" пропала, но при просмотре из браузера БД всё равно гадость!
10. tsoi85 - 15 Августа, 2011 - 20:20:40 - перейти к сообщению
Прямо после соединения с базой.

http://www.php.su/functions/?mysql-set-charset
11. Ezi - 15 Августа, 2011 - 20:22:33 - перейти к сообщению
tsoi85блин точно, UTF-8 на вин 1251 надо, а так у меня и эта фугкция стояла Улыбка
(Добавление)
Бла, не помогает!
12. КЫР - 15 Августа, 2011 - 20:26:18 - перейти к сообщению
просто ради эксперимента попробуй создать таблицу в utf8_general_ci, файл в win-1251 и попробуй что-нибудь из этого файла в созданную таблицу записать

всю жизнь так работало, без всяких конвертаций Не понял
13. Ezi - 15 Августа, 2011 - 20:47:21 - перейти к сообщению
Не помогло, вот листинг 2:
PHP:
скопировать код в буфер обмена
  1. $text = "йцукенгшщзхъфывапролджэячсмитьбю";
  2. $db = mysql_connect("localhost", "root", "") or die("Не возможно подключиться к базе данных: " . mysql_error());
  3. mysql_set_charset("WINDOWS-1251");
  4. mysql_select_db("test", $db);
  5. $qwery = "INSERT INTO test VALUES (NULL, '$text')";
  6. mysql_query($qwery, $db);


Ниже скрин результа
14. tsoi85 - 15 Августа, 2011 - 20:47:40 - перейти к сообщению
Ezi Вам нужно чтобы сайт был UTF-8?
15. Ezi - 15 Августа, 2011 - 20:48:21 - перейти к сообщению
tsoi85 ну да

 

Powered by ExBB FM 1.0 RC1