#1  22.12.2009 01:46:00

s0rr0w
Toaster
Откуда: Div align justify
Зарегистрирован: 28.04.2006
Сообщений: 3615
FireFox 3.5
Рейтинг :   [+ 100/ -9 ]
Профиль  Вебсайт

utf-8. Нужен профессиональный танцор с бубном

Не могу никак продуплить. В бэкэнде одной малоизвестной CMS используется utf8, чарсеты везде где только можно стоят utf-8. База просто кричит всеми фибрами полей, что она utf-8.

Текст выводится как и положено. Все хорошо, полная идилия. Одно беспокоит, почему именно в базе именно через phpmyadmin все данные в базе хранятся вот в таком виде Новости?

Кто даст внятный ответ?

Чур не смеяться.


Сайлоны были созданы чебуреком...

Отсутствует

 

#2  22.12.2009 02:05:49

Px
☆Tester x64☆
Откуда: Вишнёвый
Зарегистрирован: 27.04.2006
Сообщений: 19029
SeaMonkey 2.0
Рейтинг :   [+ 565/ -51 ]
Профиль  Вебсайт

Re: utf-8. Нужен профессиональный танцор с бубном

phpmyadmin какой ветки, 2.х или 3.х? В настройках

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

?
UPD: В исходнике страницы что пишет,

Код:

1:     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

?
CharsetDisable On в .htaccess?



Пых безусловно во всем прав. Почему, спросите Вы? Да просто потому, что Пых ВСЕГДА и БЕЗУСЛОВНО во всем прав© Pepper :D
----------------------------------------------------------------------
Не комментирую, умные не нуждаются, тупые не поймут©

Отсутствует

 

#3  22.12.2009 02:31:56

s0rr0w
Toaster
Откуда: Div align justify
Зарегистрирован: 28.04.2006
Сообщений: 3615
FireFox 3.5
Рейтинг :   [+ 100/ -9 ]
Профиль  Вебсайт

Re: utf-8. Нужен профессиональный танцор с бубном

Px написал:

phpmyadmin какой ветки, 2.х или 3.х? В настройках

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

?
UPD: В исходнике страницы что пишет,

Код:

1:     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

?
CharsetDisable On в .htaccess?

Мне профессиональный танцор нужен :)
пхпмайадмин 3.2.2
Collation и прочее - utf-8
Чарсеты стоят.

CharsetDisable On в .htaccess приводит к Internal Server Error

Это все фигня, все работает. В админке и на сайте все в порядке. Почему в базе не та кодировка?



Сайлоны были созданы чебуреком...

Отсутствует

 

#4  22.12.2009 02:45:35

Px
☆Tester x64☆
Откуда: Вишнёвый
Зарегистрирован: 27.04.2006
Сообщений: 19029
SeaMonkey 2.0
Рейтинг :   [+ 565/ -51 ]
Профиль  Вебсайт

Re: utf-8. Нужен профессиональный танцор с бубном

s0rr0w написал:

CharsetDisable On в .htaccess приводит к Internal Server Error

mod_charset не установлен в апаче...

s0rr0w написал:

Почему в базе не та кодировка?

Потому что пишет не в той? :rolleyes:
Вон в базе форума общая кодировка utf8, страницы в ней же, а таблицы форума cp1251_general_ci и в коде layer-а mysql_query("SET NAMES cp1251"); :laughing:

Всё фигня, вспомнил, где я это видел - у тебя где-то при записи в базу лишнее преобразование в/из utf8



Пых безусловно во всем прав. Почему, спросите Вы? Да просто потому, что Пых ВСЕГДА и БЕЗУСЛОВНО во всем прав© Pepper :D
----------------------------------------------------------------------
Не комментирую, умные не нуждаются, тупые не поймут©

Отсутствует

 

#5  22.12.2009 11:39:45

s0rr0w
Toaster
Откуда: Div align justify
Зарегистрирован: 28.04.2006
Сообщений: 3615
FireFox 3.5
Рейтинг :   [+ 100/ -9 ]
Профиль  Вебсайт

Re: utf-8. Нужен профессиональный танцор с бубном

Px написал:

Всё фигня, вспомнил, где я это видел - у тебя где-то при записи в базу лишнее преобразование в/из utf8

Код преобразования?



Сайлоны были созданы чебуреком...

Отсутствует

 

#6  22.12.2009 12:03:09

Px
☆Tester x64☆
Откуда: Вишнёвый
Зарегистрирован: 27.04.2006
Сообщений: 19029
SeaMonkey 2.0
Рейтинг :   [+ 565/ -51 ]
Профиль  Вебсайт

Re: utf-8. Нужен профессиональный танцор с бубном

s0rr0w написал:

Код преобразования?

Кхм, исходник у тебя, откуда я могу знать?
В примере в первом сообщении осмысленный текст написан, или фигня типа "Рэовопэти"?



Пых безусловно во всем прав. Почему, спросите Вы? Да просто потому, что Пых ВСЕГДА и БЕЗУСЛОВНО во всем прав© Pepper :D
----------------------------------------------------------------------
Не комментирую, умные не нуждаются, тупые не поймут©

Отсутствует

 

#7  22.12.2009 14:57:53

Skunk
BeeR | zlo.
Откуда: Киев
Зарегистрирован: 27.04.2006
Сообщений: 5525
Opera 10.10
Рейтинг :   [+ 236/ -11 ]
Профиль

Re: utf-8. Нужен профессиональный танцор с бубном

Если залогиниться на сервер и до выбора базы вывести таблицу Server variables and settings, что показывает (верхние 20 строк)?
Версия MyAdmin стоит AllLanguages или English?



Откройте рот и скажите букву П

Отсутствует

 

#8  22.12.2009 14:59:35

Skunk
BeeR | zlo.
Откуда: Киев
Зарегистрирован: 27.04.2006
Сообщений: 5525
Opera 10.10
Рейтинг :   [+ 236/ -11 ]
Профиль

Re: utf-8. Нужен профессиональный танцор с бубном

Установил себе последнюю версию MyAdmin AllLanguages (до этого стояла 2), проблему воссоздать не могу.



Откройте рот и скажите букву П

Отсутствует

 

#9  22.12.2009 15:56:13

s0rr0w
Toaster
Откуда: Div align justify
Зарегистрирован: 28.04.2006
Сообщений: 3615
FireFox 3.5
Рейтинг :   [+ 100/ -9 ]
Профиль  Вебсайт

Re: utf-8. Нужен профессиональный танцор с бубном

Буду дома, отвечу на все вопросы



Сайлоны были созданы чебуреком...

Отсутствует

 

#10  22.12.2009 18:45:53

IRON
What the hell is going on?
Откуда: Hell
Зарегистрирован: 18.12.2007
Сообщений: 2415
Chrome 4.0
Рейтинг :   [+ 82/ -4 ]
Профиль

Re: utf-8. Нужен профессиональный танцор с бубном

Судя по НовостÐ, при отображении 2-х байтный UTF-8 воспринялся как 1-но байтная кобировка (скорее всего cp1251), потому и отображает такую хрень. Нужно искать где иъян начиная с того, как они лежат в базе. Т.е. в какой кодировке лежат сами данные, а не всякие там SET NAMES.



Кто хочет жить, тот обязан бороться, а кто не захочет сопротивляться в этом мире вечной борьбы, тот не заслуживает права на жизнь. (с) Адольф Гитлер

Have you said your good-byes to the light? (c) Lestat

Отсутствует

 

#11  22.12.2009 19:43:06

Px
☆Tester x64☆
Откуда: Вишнёвый
Зарегистрирован: 27.04.2006
Сообщений: 19029
SeaMonkey 2.0
Рейтинг :   [+ 565/ -51 ]
Профиль  Вебсайт

Re: utf-8. Нужен профессиональный танцор с бубном

:)

Кодировки, фигли :) ----(UTF8->ISO-8859-1)----> КодиÑ?овки, фигли :)



Пых безусловно во всем прав. Почему, спросите Вы? Да просто потому, что Пых ВСЕГДА и БЕЗУСЛОВНО во всем прав© Pepper :D
----------------------------------------------------------------------
Не комментирую, умные не нуждаются, тупые не поймут©

Отсутствует

 

#12  22.12.2009 20:45:39

LOUIE
зююю-зю-зю-зюю
Откуда: Karjala
Зарегистрирован: 29.04.2006
Сообщений: 591
FireFox 3.5
Рейтинг :   [+ 48/ -1 ]
Профиль  Вебсайт

Re: utf-8. Нужен профессиональный танцор с бубном

Это UTF-8 в UTF-8 :blink: Причём индексируется оно правильно и происходит даже тогда, когда всё везде в UTF-8, так что сразу и не заметишь :) База думает что ты ей даёшь не UTF-8 и преобразовывает его в UTF-8, а на обратом пути — соответственно наоборот.

Надо ему "SET NAMES utf8" после коннекта говорить, тогда всё будет правильно. Кстати у меня даже где-то скрипт был, который заполненную таким образом базу в нормальный вид приводит, если надо будет...


Отсутствует

 

#13  22.12.2009 21:00:32

Skunk
BeeR | zlo.
Откуда: Киев
Зарегистрирован: 27.04.2006
Сообщений: 5525
Opera 10.10
Рейтинг :   [+ 236/ -11 ]
Профиль

Re: utf-8. Нужен профессиональный танцор с бубном

Дык вроде ж

В бэкэнде одной малоизвестной CMS используется utf8

Или ты думаешь, что бэкэнд глючный или неправильно настроен?



Откройте рот и скажите букву П

Отсутствует

 

#14  23.12.2009 00:33:19

s0rr0w
Toaster
Откуда: Div align justify
Зарегистрирован: 28.04.2006
Сообщений: 3615
FireFox 3.5
Рейтинг :   [+ 100/ -9 ]
Профиль  Вебсайт

Re: utf-8. Нужен профессиональный танцор с бубном

LOUIE написал:

Это UTF-8 в UTF-8 :blink: Причём индексируется оно правильно и происходит даже тогда, когда всё везде в UTF-8, так что сразу и не заметишь :) База думает что ты ей даёшь не UTF-8 и преобразовывает его в UTF-8, а на обратом пути — соответственно наоборот.

Надо ему "SET NAMES utf8" после коннекта говорить, тогда всё будет правильно. Кстати у меня даже где-то скрипт был, который заполненную таким образом базу в нормальный вид приводит, если надо будет...

Фак май майнд!
Долбаные фашисты! Ну надо ж было задефайнить переменную в uppercase.... :angry2:
Нашел таки где это косячило!

Делись скриптом, буду конвертить.

Спасибо огромное! Настояший шаман!


13_20091223003319_NORD_BIG_FIX.jpg


Сайлоны были созданы чебуреком...

Отсутствует

 

#15  23.12.2009 01:26:36

Cutter Slade
джж-джж-джж
Откуда: 192.168.0.1
Зарегистрирован: 28.04.2006
Сообщений: 6920
FireFox 3.5
Рейтинг :   [+ 344/ -6 ]
Профиль  Вебсайт

Re: utf-8. Нужен профессиональный танцор с бубном

s0rr0w написал:

Настояший шаман!

дык и бубен у него есть... :D



Anyone who disagrees with me is mentally ill and should be shot.

Отсутствует

 

#16  23.12.2009 11:28:47

Skunk
BeeR | zlo.
Откуда: Киев
Зарегистрирован: 27.04.2006
Сообщений: 5525
Opera 10.10
Рейтинг :   [+ 236/ -11 ]
Профиль

Re: utf-8. Нужен профессиональный танцор с бубном

Skunk написал:

Или ты думаешь, что бэкэнд глючный или неправильно настроен?

Вопрос снят :D



Откройте рот и скажите букву П

Отсутствует

 

#17  24.12.2009 22:33:45

LOUIE
зююю-зю-зю-зюю
Откуда: Karjala
Зарегистрирован: 29.04.2006
Сообщений: 591
FireFox 3.5
Рейтинг :   [+ 48/ -1 ]
Профиль  Вебсайт

Re: utf-8. Нужен профессиональный танцор с бубном

Обещанный наколенный скрипт.
Если запустить просто так, то он только показывает, что он сделает с базой, а если запустить ?do=go, то он это сделает!

Код:

 1: // chande mysql stored data encoding from default to specified
 2: $config = array(
 3:             'host' => 'localhost',
 4:             'username' => 'ыть',
 5:             'password' => 'ыть',
 6:             'database' => 'ыть',
 7:             'charset' => 'utf8'
 8:             ); 
 9: 
10: // variables
11: $tables = array();
12: $items =  array();
13: @$do = $_GET['do'];
14: 
15: // mysql_set_charset legacy definition 
16: if (!function_exists('mysql_set_charset')) {
17:     function mysql_set_charset($charset,$dbh) {
18:         return mysql_query("set names $charset",$dbh);
19:     }
20: }
21: 
22: echo '<h3>Connecting...</h3>';
23: mysql_connect($config['host'],$config['username'],$config['password']);
24: echo mysql_error();
25: mysql_select_db($config['database']);
26: echo mysql_error();
27: 
28: echo '<h3>Getting tables...</h3>';
29: $result = mysql_list_tables($config['database']);
30: echo mysql_error();
31: while ($row = mysql_fetch_row($result)) $tables[] = $row[0];
32: echo implode(', ', $tables);
33: 
34: echo '<h3>Select...</h3>';
35: foreach($tables as $tablename) {
36:     $items[$tablename] = array();
37:     $result = mysql_query("SELECT * FROM $tablename");
38:     echo mysql_error();
39:     while ($row = mysql_fetch_assoc($result)) $items[$tablename][] = $row;
40: }
41: 
42: echo '<h3>Set charset...</h3>';
43: mysql_set_charset($config['charset']);
44: echo mysql_error();
45: 
46: echo '<h3>Update...</h3>';
47: // loop tables
48: mysql_query("START TRANSACTION");
49: foreach($items as $tablename=>$table) {
50:     echo "<h4>$tablename (" . count($table) . ")</h4>";
51:     // loop rows
52:     foreach ($table as $row) {
53:         $id = $row['id'];
54:         echo "$id ";
55: 
56:         $values = array();
57:         // loop fields
58:         foreach ($row as $field=>$value) {
59:             if($value && !is_numeric($value)) {
60:                 $value = mysql_real_escape_string($value);
61:                 $values[] = "$field='$value'";
62:             }
63:         }
64: 
65:         // build query
66:         $set = implode(',',$values);
67:         $query = "UPDATE $tablename SET $set WHERE id=$id";
68: 
69:         // test or go
70:         if($do=='go') {
71:             mysql_query($query);
72:             if($error = mysql_error()) echo "$error <hr/>";
73:         } else {
74:             echo "<textarea rows=3 cols=85>$query</textarea><br/>";
75:         }
76:     }
77: }
78: mysql_query("COMMIT");

Отсутствует

 

#18  24.12.2009 23:09:50

koff
КультмассPROсвет
Зарегистрирован: 24.06.2008
Сообщений: 1787
FireFox 3.5
Профиль

Re: utf-8. Нужен профессиональный танцор с бубном

прикольнооо :|



как сделать так чтобы меня отпустило пожалуйста
важно! ПОПИСЯТЬ НА НОЧЬ

Отсутствует

 

#19  25.12.2009 00:05:33

Freelancer
Бесплатный Mitsubishi
Откуда: С того света...
Зарегистрирован: 20.11.2007
Сообщений: 1045
FireFox 3.0
Рейтинг :   [+ 31/ -1 ]
Профиль  Вебсайт

Re: utf-8. Нужен профессиональный танцор с бубном

:| :| :|



Жить вредно, от этого умирают...:)

Отсутствует

 

#20  28.12.2009 01:59:58

SokraT(HO}I{)
Бан за флуд
Откуда: Одесса мама!
Зарегистрирован: 09.05.2007
Сообщений: 1441
Chrome 3.0
Рейтинг :   [+ 59/ -20 ]
Профиль

Re: utf-8. Нужен профессиональный танцор с бубном

Могли б и у ся в админке пообсуждать :lol: всеравно меж собой общаетесь :ninja:



Scio me nihil scire - Я знаю, что ничего не знаю  ©Сократ
Labor omnia vincit improbus

Отсутствует

 

#21  28.12.2009 02:41:42

s0rr0w
Toaster
Откуда: Div align justify
Зарегистрирован: 28.04.2006
Сообщений: 3615
FireFox 3.5
Рейтинг :   [+ 100/ -9 ]
Профиль  Вебсайт

Re: utf-8. Нужен профессиональный танцор с бубном

SokraT(HO}I{) написал:

Могли б и у ся в админке пообсуждать :lol: всеравно меж собой общаетесь :ninja:

Не указывай что нам делать, и мы не будем говорить тебе, куда идти. :mad:



Сайлоны были созданы чебуреком...

Отсутствует

 

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson

[ Generated in 0.029 seconds, 10 queries executed ]