4images Forum & Community

General / Allgemeines => Chit Chat => Topic started by: Valery on June 04, 2009, 10:22:40 PM

Title: Частичная проблема с русским 1.1.7 помогите!!!
Post by: Valery on June 04, 2009, 10:22:40 PM
 Мозг опух... 8O
Стояла 1.7.4, поставил заново 1.7.7, на локале отладил - все хорошо, базу переношу на хост - в ПХП админе вижу таблицы нормально, а часть данных (названия категорий и описания - кракозябрами). Чего мне копать????
Title: Re: Частичная проблема с русским 1.1.7 помогите!!!
Post by: V@no on June 05, 2009, 02:29:23 AM
Похоже на различные кодировки на локалке и на хосте. Проверьте, чтобы у баз были одинаковые кодировки перед переносом данных.
Title: Re: Частичная проблема с русским 1.1.7 помогите!!!
Post by: Valery on June 05, 2009, 09:17:31 AM
На сервере: (SHOW VARIABLES LIKE 'char%')

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   /usr/share/mysql/charsets/

На Денвере запрос выдает ошибку  :( - я не знаю как посмотреть
Сравнение стоит utf8_general_ci и в таблицах тоже utf8_general_ci
Title: Re: Частичная проблема с русским 1.1.7 помогите!!!
Post by: Valery on June 05, 2009, 10:39:18 AM
Решил так:
файл db_mysql.php
Code: [Select]
  function Db($db_host, $db_user, $db_password = "", $db_name = "", $db_pconnect = 0) {
    $connect_handle = ($db_pconnect) ? "mysql_pconnect" : "mysql_connect";
    if (!$this->connection = @$connect_handle($db_host, $db_user, $db_password)) {
      $this->error("Could not connect to the database server ($db_host, $db_user).", 1);
    }
    if ($db_name != "") {
      if (!@mysql_select_db($db_name)) {
        @mysql_close($this->connection);
        $this->error("Could not select database ($db_name).", 1);
      }
    }
  //Установка кодировки utf8.
  mysql_query('SET  character_set_database  =  utf8');
  mysql_query('SET  NAMES  utf8');
return $this->connection;
  }

Все заработало, правда опять при добавлении записей в БД ругается, хотя вроде как записи добавляются в таблицу правильно.

При редактировании фото:
DB Error: Bad SQL Query: INSERT INTO 4images_wordmatch (image_id, word_id, name_match, desc_match, keys_match) SELECT DISTINCT 2040, word_id, 0, 0, 1 FROM 4images_wordlist WHERE word_text = 'пана�оник'
Duplicate entry '2040-1' for key 'image_word_id'
Фотография была отредактирована.

При добавлении фото:
DB Error: Bad SQL Query: INSERT INTO 4images_wordmatch (image_id, word_id, name_match, desc_match, keys_match) SELECT DISTINCT 2041, word_id, 0, 0, 1 FROM 4images_wordlist WHERE word_text = '��'
Duplicate entry '2041-8' for key 'image_word_id'
Title: Re: Частичная проблема с русским 1.1.7 помогите!!!
Post by: Valery on June 09, 2009, 12:44:03 PM
Строка:
mysql_query('SET  character_set_database  =  utf8');
необязательна.

Кто бы еще это помог исправить:
DB Error: Bad SQL Query: INSERT INTO 4images_wordmatch (image_id, word_id, name_match, desc_match, keys_match) SELECT DISTINCT 2062, word_id, 0, 0, 1 FROM 4images_wordlist WHERE word_text = 'монако'
Duplicate entry '2062-10' for key 'image_word_id'
Фотография была отредактирована.