Проблема с выводом данных из mysql на сайт.

Статус
В этой теме нельзя размещать новые ответы.
В интернетах об этой проблеме сотни тем создано.

Мне интересно, автор чо, гуглить не умеет? :-]

Для просмотра ссылки Войди или Зарегистрируйся
Во-вторых, появилась необходимость говорить базе данных, в какой кодировке мы записываем или хотим получить свои данные. То есть, появилось такое понятие, как кодировка клиента. Здесь и кроется ответ на вопрос - "откуда берутся "вопросики"? Они появляются, если кодировка таблицы не совпадает c кодировкой клиента.
Соответственно, в MySQL появились две новые команды
set character_set_client
и
set character_set_results

Первая указывает, в какой кодировке приходят данные в базу, а вторая - в какой их выдавать. Поскольку чаще всего эти кодировки совпадают, то можно писать короче - один запрос "SET NAMES кодировка", который и устанавливает оба эти параметра.
 
с бд познакомился недавно.
вопрос такой, на денвере при создании бд, можно указать кодировку
e9ab8ba01972.gif

и при создании новой таблицы будет именно эта кодировка
9ce2fc8fd495.gif

А вот на сервере при создании бд на хостинге кодировку указать нельзя вообще, бд создается не в пхпмайадмине,
e258dbc4b88f.gif

а в другом месте: там только название бд и пользователя создать можно, и в итоге для новых таблиц получается следующее:
00bd2eb5dbe4.gif

На другом хостинге поумолчанию кодировка - latin1_swedish_ci.
И где ее поменять на нужную, не могу найти.
 
CREATE TABLE table (
id SMALLINT(5) NOT NULL AUTO_INCREMENT,
....
PRIMARY KEY(id),
) ENGINE=MyISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci;

вот так создавай таблицы.
 
разобрался, можно поменять кодировку вот так:
alter database `mydb` character set utf8;
 
  • Заблокирован
  • #15
Теперь помогите мне, такого не видел никогда.

Создал базу в ISP панели, указал кодировку дефолт, залил ALTER DATABASE `topshop` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_bin, в самой базе знаков вопросов нет, но на сайте весть текст из базы в вопросах ????
хотя стоит charset=windows-1251 и в .htaccess AddDefaultCharset cp1251

MySQL

* Сервер: Localhost via UNIX socket
* Версия сервера: 5.0.83
* Версия протокола: 10
* Пользователь: top@localhost
* MySQL-кодировка: UTF-8 Unicode (utf8)


файл file.sql открываю в текстовом редакторе то буквы читабельные.
сделал и такое в скрипте define('DB_CHARACTER_SET', 'cp1251');

Помогите пожалуйста!
 
mysql_query('SET NAMES "cp1251"');
 
  • Заблокирован
  • #17
левый ответ так как кодировка в базеданых cp1251
 
set character set cp1251;
 
мне проще оказалось перевести дамп в unicode, поправить типы ручками и залить поновой чем мучится с set names. в некоторых местах оно работало, в некоторых нет.
 
смени кодировку на cp1251

Добавлено через 20 секунд
не только в базе, но и в конфигах апача
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху