> Форум сервера Counter-Strike компании IPTelecom http://www.cs.iptcom.net/forum/index.php > Курилка http://www.cs.iptcom.net/forum/viewforum.php?id=4 > utf-8. Нужен профессиональный танцор с бубном http://www.cs.iptcom.net/forum/viewtopic.php?id=2293 |
s0rr0w — 22.12.2009 01:46:00 |
Не могу никак продуплить. В бэкэнде одной малоизвестной CMS используется utf8, чарсеты везде где только можно стоят utf-8. База просто кричит всеми фибрами полей, что она utf-8. |
Px — 22.12.2009 02:05:49 |
phpmyadmin какой ветки, 2.х или 3.х? В настройках
? Код:1: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ? |
s0rr0w — 22.12.2009 02:31:56 |
Мне профессиональный танцор нужен :) |
Px — 22.12.2009 02:45:35 |
mod_charset не установлен в апаче...
Потому что пишет не в той? :rolleyes: |
s0rr0w — 22.12.2009 11:39:45 |
Код преобразования? |
Px — 22.12.2009 12:03:09 |
Кхм, исходник у тебя, откуда я могу знать? |
Skunk — 22.12.2009 14:57:53 |
Если залогиниться на сервер и до выбора базы вывести таблицу Server variables and settings, что показывает (верхние 20 строк)? |
Skunk — 22.12.2009 14:59:35 |
Установил себе последнюю версию MyAdmin AllLanguages (до этого стояла 2), проблему воссоздать не могу. |
s0rr0w — 22.12.2009 15:56:13 |
Буду дома, отвечу на все вопросы |
IRON — 22.12.2009 18:45:53 |
Судя по ÐовоÑÑ‚Ð, при отображении 2-х байтный UTF-8 воспринялся как 1-но байтная кобировка (скорее всего cp1251), потому и отображает такую хрень. Нужно искать где иъян начиная с того, как они лежат в базе. Т.е. в какой кодировке лежат сами данные, а не всякие там SET NAMES. |
Px — 22.12.2009 19:43:06 |
:)
|
LOUIE — 22.12.2009 20:45:39 |
Это UTF-8 в UTF-8 :blink: Причём индексируется оно правильно и происходит даже тогда, когда всё везде в UTF-8, так что сразу и не заметишь :) База думает что ты ей даёшь не UTF-8 и преобразовывает его в UTF-8, а на обратом пути — соответственно наоборот. |
Skunk — 22.12.2009 21:00:32 |
Дык вроде ж
Или ты думаешь, что бэкэнд глючный или неправильно настроен? |
s0rr0w — 23.12.2009 00:33:19 |
Фак май майнд! |
Cutter Slade — 23.12.2009 01:26:36 |
дык и бубен у него есть... :D |
Skunk — 23.12.2009 11:28:47 |
Вопрос снят :D |
LOUIE — 24.12.2009 22:33:45 |
Обещанный наколенный скрипт. Код: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"); |
koff — 24.12.2009 23:09:50 |
прикольнооо :| |
Freelancer — 25.12.2009 00:05:33 |
:| :| :| |
SokraT(HO}I{) — 28.12.2009 01:59:58 |
Могли б и у ся в админке пообсуждать :lol: всеравно меж собой общаетесь :ninja: |
s0rr0w — 28.12.2009 02:41:42 |
Не указывай что нам делать, и мы не будем говорить тебе, куда идти. :mad: |