Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Кодировка mysql


Автор: CruorVult 11.4.2009, 17:56
Как исправить http://www.cruorvult.0fees.net/index.php
Начальная кодировка стояла  cp1251_general_ci изменил на cp1251_ukrainian_ci но всеравно выводит знаки вопроса.

Автор: azesmcar 11.4.2009, 17:59
CruorVult

Используй Юникод, кодировка UTF8 и не мучайся

Автор: skyboy 11.4.2009, 18:03
перед записью в БД и чтением из неё надо делать
Код

SET NAMES <текущая кодировка клиента>;

Автор: CruorVult 11.4.2009, 18:07
Цитата(azesmcar @  11.4.2009,  17:59 Найти цитируемый пост)
Используй Юникод, кодировка UTF8 и не мучайся

поставил utf8_general_ci тоже самое smile

Добавлено через 12 минут и 5 секунд
Цитата(skyboy @  11.4.2009,  18:03 Найти цитируемый пост)
перед записью в БД и чтением из неё надо делатькод SQL1:SET NAMES <текущая кодировка клиента>;


Я так понял это надо добавлять во всех скриптах?

Автор: enof 11.4.2009, 18:24
CruorVult,  Данные должны быть в utf8. Сейчас у вас все в cp1251.
Сначала перегоните всю базу в utf8.

Автор: CruorVult 11.4.2009, 18:39
Ну вот, если я вношу инфу в БД через скрипт(с использованием SET NAMES <текущая кодировка клиента>;), то все нормально, но если я пишу напрямую в БД то соответственно знаки вопроса.

Автор: ksnk 11.4.2009, 18:54
CruorVult, Что такое "пишу напрямую в БД"?

Почему это считается удивительным - если делать все правильно, то вс получается. а если делать неправильно - получается фигня? Так и должно быть, вроде  smile 

Автор: CruorVult 11.4.2009, 18:58
Цитата(ksnk @  11.4.2009,  18:54 Найти цитируемый пост)
CruorVult, Что такое "пишу напрямую в БД"?

Заполняю таблицы через phpmyadmin  smile 

Автор: enof 11.4.2009, 19:02
Цитата(CruorVult @  11.4.2009,  19:58 Найти цитируемый пост)
phpmyadmin 

это такой же скрипт на php.
У вас данные в какой кодировке?
Вам нужно чтобы все было в utf8. 
Изменяете все данные, потом изменяете сами таблицы. Прописываете кодировку и сравнение.
Потом настраиваете свои скрипты. После соединения SET NAMES, отсылаете заголовки браузеру, что данные будут в utf8.
Ну и сами скрипты должны быть в utf8.

Автор: ksnk 11.4.2009, 19:04
Выбери базу, вкладка "Операции", параметр "сравнение". 
Поставь нужную кодировку.

Вообще говоря, нужно правильно создавать базу.

Автор: CruorVult 11.4.2009, 19:05
У меня все сейчас стоит в utf8!

MySQL
Сервер: sql202.0fees.net via TCP/IP
Версія сервера: 5.0.51a-24
Protocol version: 10
Користувач: fees0_3294177@209.190.85.47
MySQL Charset: UTF-8 Unicode (utf8)

Автор: azesmcar 11.4.2009, 19:08
CruorVult

Не все в UTF8 однозначно.
1. Default кодировка сайта 1251 а не UTF8
2. В базе данных - данные не UTF8, это то что мне отсюда видно

Остальное не знаю

Автор: enof 11.4.2009, 19:09
CruorVult, Данные? скрипты? 
Код

Content-Type: text/html

Где кодировка указана?
Код

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

Тут тоже utf8?

Автор: golden 17.4.2009, 18:05
Спецы нужна ваша помощь!
делал базу на denwere объявил cp1251_general_ci соответственно поля в этой же кодировке.

приспичило переехать на appserv-win32-2.5.9, теперь вместо русских букв вопросики ?????????
кто сталкивался что можно предпринять???как починить что бы все нормально показывало.

Автор: bars80080 17.4.2009, 20:57
golden, один топик - один вопрос. создавайте тему в следующий раз


по сабжу, надо сразу после подключения прописать:

Код

mysql_query('set names cp1251');



Автор: skyboy 17.4.2009, 21:27
открой БД каким-то клиентом(например, SQLYog). тоже знаки вопроса? выполни set names utf8; и снова посмотри в базу при помощи клиента. опять знаки вопроса? значит, данные потеряны безвозвратно.
если на любом из этапов увидел что-то окромя латиницы и знаков вопроса(крякозябры какие) - надежда есть.
только нужны будут подробности.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)