Arhn - архитектура программирования

Установите кодировку PRAGMA = UTF-16 для основной базы данных в sqlite

Я читал, что невозможно изменить кодировку текста базы данных после ее создания, и любая попытка сделать это будет молча игнорироваться (от здесь)

Из этот пост, чтобы создать основную базу данных, скажем, 'databasename.db ' в SQLite мы должны ввести в командной строке следующее:

имя_базы_данных sqlite3.db

который создает базу данных и отображает оболочку sqlite как:

C:\Documents and Settings\Administrator>sqlite3 AudioData.db
SQLite version 3.7.11 2012-03-20 11:35:50
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>

В этом случае, как установить кодировку PRAGMA? Как я могу дать команду PRAGMA перед командой создания базы данных, поскольку оболочка sqlite запускается после команды создания базы данных?? Заранее спасибо!


Ответы:


1

Вы просто вызываете sqlite3, как написали. В это время есть просто пустой файл. Затем вы устанавливаете свои прагмы. База данных со всеми ее настройками будет записана после создания первой таблицы. И важно время записи со всеми переменными окружения. Именно тогда база данных действительно создается. Так что просто установите свои прагмы перед созданием первой таблицы.
например.

sqlite3 test.db

открывает sqlite, в это время ничего не пишет

pragma encoding=utf16;

до сих пор ничего не написано

.quit

закрывает sqlite, создается пустой файл test.db

sqlite3 test.db

открывает sqlite

pragma encoding = utf16;
pragma nnnn=xxx;

устанавливает прагмы, файл test.db все еще пуст

create table test (testid integer);

теперь база данных действительно создается, и файл базы данных test.db записывается с содержимым

25.01.2014
  • Я использую командную строку DOS для запуска этой команды. Итак, после подключения и создания базы данных вышеописанным способом; когда я использую неанглийские символы в команде, копирование и вставка делает это ??? например команда, которую я пробовал, вставляется в значения ENG_MAR_MAPPING (ENG_WORD, MAR_WORD) («зенит», «कळस»); но в приглашении DOS он стал вставлять в значения ENG_MAR_MAPPING (ENG_WORD, MAR_WORD) («зенит», «???»); Так действительно ли мои неанглийские символы достигли БД? 11.01.2015
  • следуйте согласно stackoverflow .com/questions/388490/, затем вы можете проверить 13.01.2015

  • 2

    Используйте браузер SQLlite для таких расширенных функций. Это очень просто использовать.

    11.01.2015
    Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..