Проблемы с кодировкой в MySQL на буржуйском хостинге

K
На сайте с 23.10.2004
Offline
159
935

Проблемы с кодировкой в MySQL на буржуйском хостинге:

В Phpmyadmin русские буквы отображаются,

а в скрипте вместо русских букв "???" (вопросительные знаки).

На главной странице в пхпмайадмине стоит:

MySQL-кодировка: UTF-8 Unicode (utf8)

Сопоставление соединения с MySQL: utf8_unicode_ci

У БД и у таблицы стоит: сравнение="cp1251_general_ci"

На другом (русском) хостинге все также, кроме:

на буржуйском в "Системные переменные MySQL":

collation database = latin1_swedish_ci

collation server = latin1_swedish_ci

а на русском:

= collation server

В этом ли дело?

И если да, то как поменять???

[Удален]
#1

SET NAMES 'utf8'

LEOnidUKG
На сайте с 25.11.2006
Offline
1725
#2

Дыг сам сайт то в какой кодировке?

Если с cp1251, то при подключении к БД нужно в конце дописать:

.....

mysql_connectхххх

mysql_select_dbхххх

......

mysql_query("SET NAMES 'cp1251'"); //Это добавить!!! Все запросы в cp1251

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
[Удален]
#3

utf8 у него:


MySQL-кодировка: UTF-8 Unicode (utf8)
Сопоставление соединения с MySQL: utf8_unicode_ci

только сравнение cp1251

K
На сайте с 23.10.2004
Offline
159
#4
So1:
SET NAMES 'utf8'

это где прописать?

kravru добавил 04.11.2008 в 18:25

LEOnidUKG:
Дыг сам сайт то в какой кодировке?
Если с cp1251, то при подключении к БД нужно в конце дописать:
.....
mysql_connectхххх
mysql_select_dbхххх
......
mysql_query("SET NAMES 'cp1251'"); //Это добавить!!! Все запросы в cp1251

Сами php-шные скрипты в 1251.

mysql_query("SET NAMES 'cp1251'"); - это в начало каждого скрипта добавить?

или можно как-то один раз для всего сайта, а лучше для всей БД?

LEOnidUKG
На сайте с 25.11.2006
Offline
1725
#5
kravru:

mysql_query("SET NAMES 'cp1251'"); - это в начало каждого скрипта добавить?
или можно как-то один раз для всего сайта, а лучше для всей БД?

где подключение к БД идёт там и вставлять нужно

LEOnidUKG добавил 04.11.2008 в 18:39

So1:
utf8 у него:
только сравнение cp1251

я спрашивал сайт в какой кодировке, а не БД. БД хоть в латинице

W
На сайте с 06.09.2005
Offline
42
#6
LEOnidUKG:
я спрашивал сайт в какой кодировке, а не БД. БД хоть в латинице

Вы не прав

webmasters -вебмастер с сайтов:http://www.ibrahimovfamil.narod.ru (http://www.ibrahimovfamil.narod.ru) http://www.allshops.h15.ru (http://www.allshops.h15.ru),http://www.forumall.h15.ru (http://www.forumall.h15.ru) http://www.zarabotka.hut1.ru (http://www.zarabotka.hut1.ru)
BR
На сайте с 28.06.2008
Offline
75
#7

Прежде всего надо создавать таблицы/базы в нужной кодировке. Полезный тынц на тему кодировок

размещение сайтов (http://www.brim.ru)
[Удален]
#8

при подключении пишите "SET NAMES 'utf8'" (ну или cp1251, как сказал LEOnidUKG, но что то мне кажется, что именно utf8 ;) я толком не вникал в проблему :) ) - перед каждым запросом это уже слишком :)

К стати, что мешает на буржуйском хостинге зайти в phpMyAdmin и поменять кодировку базы с latin1 на utf8?

P.S. PHP итак по умолчанию (в какой кодировке ни была бы страница) передает данные в скрипт в кодировке latin1.

K
На сайте с 23.10.2004
Offline
159
#9
So1:
при подключении пишите "SET NAMES 'utf8'" (ну или cp1251, как сказал LEOnidUKG, но что то мне кажется, что именно utf8 ;) я толком не вникал в проблему :) ) - перед каждым запросом это уже слишком :)

Вставил mysql_query("SET NAMES 'cp1251'"); сразу после подключения к БД.

Все работает.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий