1

Тема: Проблема с кодировкой

Ребята я действительно не разбираюсь php-Myadmin.
Ситуация следующая.
Для себя лично перевожу скрипт с английского на русский.
Кодировка в БД utf8_general_ci
При переводе текста через админку сайта, текст сохраняется на русском и отображается на русском (проблем нет, можно увидеть на скриншоте нижняя часть)
но если войти в БД то полная неразбериха не русские буквы а набор непонятных символов.
Если начинаю редактировать через php-Myadmin тогда в таблице все хорошо становится но на сайте отображается набором нечитаемых символов.

http://s2.postimage.org/ilLc9.jpg

подскажите где моя ошибка. Хостинг буржуйский не думаю что проблема с этим связана.

для админа форума, здесь можно взять мод для вставки картинок на форум http://www.postimage.org/mod.php

2 (изменено: ural, 2010-03-03 10:15:28)

Re: Проблема с кодировкой

Это глобальные переменные у моего хостера
http://s3.postimage.org/3bIor.jpg

Разработчик скрипта предложил сделать следующую запись в mysql_config.php
не помогло.

<?php

$charset = 'UTF-8';
header("Content-Type: text/html; charset=$charset");

        $user = "ххххххх";
        $passwrd = "ххх";
        $host = "localhost";
        $db = "хххххх";

        ?>

sad

3

Re: Проблема с кодировкой

ural
Поиском по файлам скрипта найдите вызов функции mysql_connect и сразу после нее добавьте строку:
[mono]mysql_query('SET NAMES utf8');[/mono]

Проблема заключается в на стройке кодировки соединения с MySQL выставленной на сервере изначально в latin1. С помощью данного запроса проблема будет решена и вы сможете редактировать текст и в админке и в phpMyAdmin.

Спасибо за ссылку.

4

Re: Проблема с кодировкой

Нашел такой код

//------------
  // Connect to mysql
  //------------
  $conn = mysql_connect("$host", "$user", "$passwrd") or die ("Проблема соединения с БД, проверьте username, пароль, имя БД. Ошибка: ".mysql_error());
  mysql_select_db("$db", $conn) or die("Cannot Connect to $db database");

добавил mysql_query('SET NAMES utf8'); получилось так

//------------
  // Connect to mysql
  //------------
  $conn = mysql_connect("$host", "$user", "$passwrd") or die ("Проблема соединения с БД, проверьте username, пароль, имя БД. Ошибка: ".mysql_error());
  mysql_query('SET NAMES utf8');
  mysql_select_db("$db", $conn) or die("Cannot Connect to $db database");

Не помогло, написал хостеру а он отвечает я не могу изменить конфигурацию всего сервера hmm

Sorry but I cannot change the entire server's configuration, but I can try to convert the database.
What database is under the question.

попал я

5

Re: Проблема с кодировкой

ural
Все верно вы нашли и заменили. Должно работать.

Страницы скрипта в какой кодировке?
Все таблицы в БД имеют сравнение utf8_general_ci?

Попробуйте добавить переменную соединения.
[mono]mysql_query('SET NAMES utf8', $conn);[/mono]