|
|
|
| на хостинге было все впорядке, установил CMSшку на сервер свой, и русский язык знаками вопроса.
Причем что очень интересно : Нормально отоображается русский текст который выводится из скрипта , а все что выводится из базы данных, отоображается ??????????
Уже Header utf8, windows-1251, cp1251, Meta http-equiv, ничо не помогает. | |
|
|
|
|
|
|
|
для: toproot
(28.11.2009 в 12:39)
| | Я энтим тожа мучался и мне ктой-то подсказал делать так:
$query = "SELECT * FROM categ WHERE id='$id'";
mysql_query("SET CHARSET cp1251;"); // энто надыть вставлять во все такие места
$result=mysql_query( $query, $aDBLink);
попробуй можа поможет | |
|
|
|
|
|
|
|
для: gen
(28.11.2009 в 13:58)
| | очень интересно если поставить на поле кодировку utf8_unicode_ci
Ðóññêèé òåêñò - в базе данных (phpmyadmin) , тогда на сайте Русский текст.
а если в пхпмуадмин - Русский Текст, тогда на сайте ??????? ?????
то есть я со скрипта ввожу Русский текст - а в базе получается Ðóññêèé òåêñò, а на сайте нормально отооражается
а cp1251_general_ci - в базе данных все окей, а на сайте только знаки вопроса. | |
|
|
|
|
|
|
|
для: toproot
(28.11.2009 в 12:39)
| | >что выводится из базы данных, отоображается ??????????
А вы проверьте в самой базе у вас нормальный текст(а то у мен один раз вместо текста одни вопросы были, а я мучался с кодировками) | |
|
|
|
|
|
|
|
для: tvv123456
(28.11.2009 в 14:04)
| | Чтобы в базе было нормально нужно нажимать в админе сравнение cp1251_general_ci
а чтобы еще и выводило нормально я вставлял в скрипт
mysql_query("SET CHARSET cp1251;");
во все места где есть типа того
$query = "SELECT * FROM categ WHERE id='$id'";
$result=mysql_query( $query, $aDBLink);
между этими двумя строчками
то есть получалось
$query = "SELECT * FROM categ WHERE id='$id'";
mysql_query("SET CHARSET cp1251;");
$result=mysql_query( $query, $aDBLink); | |
|
|
|
|
|
|
|
для: gen
(28.11.2009 в 14:13)
| | mysql_query("SET CHARSET cp1251;"); - вот этим я никогда не пользовался и всегда все нормально
были проблемы когдакодировка в базе не совпадала с кодировкой в файлах(не знаю как правильно сказать надеюсь понятно и так)
Еще один раз проблемы возникли когда при заполнении базы не указал кодировку и в базу занесли одни ??? | |
|
|
|
|
|
|
|
для: gen
(28.11.2009 в 14:13)
| | Не охота пока все запросы переделывать, попробую еще вручную создать таблицы, ато дамп етот я с другой базы вставлял. | |
|
|
|
|
|
|
|
для: gen
(28.11.2009 в 14:13)
| | Просто написал после выбора базы данных mysql_query("SET CHARSET cp1251;");
и сразу все стало на свои места. Спасибо! | |
|
|
|
|
|
|
|
для: gen
(28.11.2009 в 14:13)
| | Если уж вы и используете
<?php mysql_query("SET NAMES 'cp1251'"); ?>
| ,
то не нужно совать это при каждом запросе, достаточно после выбора базы:
config.php
<?php
...
mysql_select_db();
mysql_query("SET NAMES 'cp1251'");
...
?>
|
| |
|
|
|
|
|
|
|
для: tvv123456
(28.11.2009 в 14:04)
| | Нет, в базе данных нормальный текст.
кстати пхпмуадмин редактирует нормально и с русским текстом, а мой скрипт при редактировании(с русским) выдает ошибку :
mysql_error()
Incorrect string value: '\xC4\xEE\xEC\xE0\xF8\xED...' for column 'name' at row 1, Но не во всех полях, textarea уже работает с локалки, с другого компа почемуто ошибку выдавало | |
|
|
|
|
|
|
|
для: toproot
(28.11.2009 в 12:39)
| |
<?php
$cfg['sql']['host'] = "localhost";
$cfg['sql']['user'] = "root";
$cfg['sql']['pass'] = "";
$cfg['sql']['db'] = "test_db";
class CDB
{
function CDB()
{
global $cfg;
if ( $link = @mysql_connect( $cfg['sql']['host'], $cfg['sql']['user'], $cfg['sql']['pass'] ) )
{
if( !$db = @mysql_select_db( $cfg['sql']['db'], $link ) )
echo "Не удалось выбрать базу данных";
}
else
echo "Не удалось подключится к базе данных";
@mysql_query("SET NAMES cp1251");
}
function close()
{
@mysql_close();
}
// Другие функции БД
}
$db = new CDB();
//$db->setQuery( $sql );
?>
|
И не надо каждый запрос посылать команду set names, достаточно один раз... | |
|
|
|
|
|
|
|
для: Jackkum
(28.11.2009 в 20:40)
| | @mysql_query("SET NAMES cp1251"); решил вопрос | |
|
|
|
|
|
|
|
для: toproot
(29.11.2009 в 14:58)
| | Здравствуйте! У меня такая же проблема. Создал в phpmyadmin базу данных с таблицей.
В таблице поля с типом varchar(40).
Вот код php:
<?
$db = mysql_connect("localhost", "alex","12345");
mysql_select_db("Database", $db);
mysql_query("SET CHARSET cp1251;");
$result = mysql_query("SELECT * FROM firma WHERE id='2'",$db);
$myrow = mysql_fetch_array($result);
echo $myrow['dol'];
echo "<br>".$myrow['lastname'];
?>
И всё равно выскакивают вопросы. | |
|
|
|