измените сопоставление по умолчанию в phpmyadmin

Не совсем понятно, почему вы говорите, что первый 3D-массив неэффективен (я имею в виду, заметили ли вы особенно сильное замедление при его использовании?), Но вы можете сделать это с помощью простых вычислений смещения. [113 ]

Прежде всего, если вы нацелены на последнюю версию C #, вы можете заменить всю функцию копирования всего двумя строками, и ваш код будет выглядеть следующим образом:

using System;
using System.Runtime.InteropServices;

Boo[] boosone;
Boo[,,] boos = new Boo[8, 8, 8];

Boo GetMe(int i, int j, int k)
{
    if (boosone == null)
    {
        boosone = new Boo[boos.Length];
        MemoryMarshal.CreateSpan(ref boos[0, 0, 0], boosone.Length).CopyTo(boosone);
    }

    return boosone[boos.GetLength(1) * boos.GetLength(2) * i + boos.GetLength(2) * j + k];
}

Если вы этого не сделаете Если по какой-то причине вы хотите использовать класс MemoryMarshal, вы также можете использовать LINQ для выравнивания вашего трехмерного массива, хотя этот подход гораздо менее эффективен:

boosone = boos.Cast<Boo>().ToArray();
32
задан Sergio del Amo 30 September 2008 в 15:58
поделиться

2 ответа

В Вашем изменении конфигурации Mysql оператор набора символов по умолчанию под [mysqld] вкладкой. Например:

[mysqld]
default-character-set=utf8

не забывают перезапускать Ваш сервер Mysql впоследствии для изменений для вступления в силу.

20
ответ дан 27 November 2019 в 20:27
поделиться

Это не phpMyAdmin вопрос.

Сопоставления являются частью недавних выпусков MySQL, необходимо установить сопоставление по умолчанию сервера (или по крайней мере базы данных) для изменения того поведения.

уже Для преобразования импортированных таблиц в UTF-8 можно сделать (в PHP):

$dbname = 'my_databaseName';
mysql_connect('127.0.0.1', 'root', '');
mysql_query("ALTER DATABASE `$dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci");
$res = mysql_query("SHOW TABLES FROM `$dbname`");
while($row = mysql_fetch_row($res)) {
   $query = "ALTER TABLE {$dbname}.`{$row[0]}` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci";
   mysql_query($query);
   $query = "ALTER TABLE {$dbname}.`{$row[0]}` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";
   mysql_query($query);
}
echo 'all tables converted';

Фрагмент кода, взятый от здесь .

13
ответ дан 27 November 2019 в 20:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: