|
|
|
| все таблицы в срравнениее cp1251_general_ci
на сайте через форму пишу русскими буквами слово проверка.. отображается на сайте так: ??????? и в базе тоже самое.
если в базе допустим наспиано русскими: прикольная фотка...
то на сайте это отображается так: прикольная фотка...
подскажите как это поправить | |
|
|
|
|
|
|
|
для: t3ma
(05.08.2008 в 12:53)
| | прикольная фоткР- это кажись utf-8 кодировка.. В браузере укажите ее.. и будет все ок.
Сам мучился на днях..с кодировкой... (но у меня прога поддерживала ток cp1251) то решил проблему так..
iconv('исходная кодировка', 'нужная кодировка', 'строка') | |
|
|
|
|
|
|
|
для: t3ma
(05.08.2008 в 12:53)
| | Попробуйте после того как присоединитесь к базе данных выполнить запрос:
mysql_query("SET NAMES 'cp1251'");
|
| |
|
|
|
|
|
|
|
для: Zend72
(05.08.2008 в 13:16)
| | это я уже пробовал.. неканает | |
|
|
|
|
|
|
|
для: t3ma
(05.08.2008 в 13:23)
| | Если данные в базе действительно в кодировке CP1251 то еще как канает =) | |
|
|
|
|
|
|
|
для: Zend72
(05.08.2008 в 13:29)
| | мой касяк.. теперь выводит из базы нормуль..
а вот добавляется в базу так: ?????? | |
|
|
|
|
|
|
|
для: t3ma
(05.08.2008 в 13:33)
| | А как происходит добавление в базу? Как выглядит этот скрипт? | |
|
|
|
|
|
|
|
для: Zend72
(05.08.2008 в 13:34)
| |
вот скрипт..
<?php
$id = addslashes(strip_tags($_POST["id"]));
$comment = addslashes(strip_tags($_POST["comment"]));
$c_date = date("Y-m-d H:i:s");
$add_comment = @mysql_query("INSERT INTO gl_comments VALUES (0, $id, $user_id, '$comment', '$c_date')");
?>
|
я в начале скрипта вставляю файл который работает с кодировкой utf-8 и из этого в базу добавляется вопроссики.. если его убрать будет все нормально... но мне его уберать не надо | |
|
|
|
|
|
|
|
для: t3ma
(05.08.2008 в 13:42)
| | > я в начале скрипта вставляю файл который работает с кодировкой utf-8 и из этого в базу
Вот он корень зла... Тогда возможно лучше кодировку в базе данных поменять на utf-8.
Вообще все зделать в utf-8 и не париться! | |
|
|
|
|
|
|
|
для: Zend72
(05.08.2008 в 13:50)
| | а нельзя сделать конфертацию перед добавление в базу текста в cp1251 ?
как-нибудь так:
iconv ('utf8_bin', 'windows-1251', $comment);
$add_comment = @mysql_query("INSERT INTO gl_comments VALUES (0, $id, $user_id, '$comment', '$c_date')");
|
только так неработает | |
|
|
|
|
|
|
|
для: t3ma
(05.08.2008 в 13:56)
| | Конертировать перед добавлением можно (уверен на 90%). Только зачем? Если все будет в utf-8 то и задумываться о конвертировании не надо будет. | |
|
|
|
|
|
|
|
для: t3ma
(05.08.2008 в 13:56)
| | Помоему вот так:
$comment = iconv('UTF-8', 'windows-1251', $comment);
|
______________________
Вот проверил:
<?php
$comment = 'текст';
echo $comment.'<br />';
$comment = iconv('windows-1251', 'UTF-8', $comment);
echo $comment.'<br />';
$comment = iconv('UTF-8', 'windows-1251', $comment);
echo $comment;
?>
|
Но всетаки лучше перевести все в UTF-8 и ничео не надо будет конвертировать... | |
|
|
|
|
|
|
|
для: t3ma
(05.08.2008 в 12:53)
| | Попробуйте после mysql_connect() дописать это:
mysql_set_charset('CP1251');
|
| |
|
|
|
|
|
|
|
для: DDK
(05.08.2008 в 13:18)
| | мой касяк.. теперь выводит из базы нормуль..
а вот добавляется в базу так: ?????? | |
|
|
|
|
|
|
|
для: t3ma
(05.08.2008 в 13:28)
| | У вас в приложении функция mysql_connect() одна или несколько? | |
|
|
|