Firebird использует набор символов соединения, чтобы знать, как нужно кодировать строковые значения. По умолчанию установлено значение NONE
, что означает, что преобразование набора символов не применяется, и точное поведение зависит от инструмента / клиента, но в целом клиенты применяют набор символов системы по умолчанию для преобразования между байтовыми значениями и строками.
Вам необходимо указать набор символов подключения UTF8 при подключении из FlameRobin, и ваш запрос будет работать
SELECT NAME FROM TABLE1 WHERE NAME = 'العربية'
Если вы не укажете набор символов подключения, тогда набор символов подключения NONE применяется, и в результате значения строк будут интерпретироваться в кодировке платформы по умолчанию (которая в Windows - не utf8, а, например, windows-1252).
Один путь состоит в том, чтобы уехать raw_input()
в конце, таким образом, сценарий ожидает Вас для нажатия Enter, прежде чем он завершится.
Нет никакой потребности ожидать входа перед закрытием, просто изменить Вашу команду как так:
cmd /K python <script>
Эти /K
переключатель выполнит команду, которая следует, но оставьте окно интерпретатора команд открытым, в отличие от /C
, который выполняется и затем закрывается.
Один путь состоит в том, чтобы оставить raw_input () в конце, таким образом, сценарий ожидает Вас для нажатия Enter, прежде чем он завершится.
преимущество использования raw_input () вместо msvcrt.* материал - то, что первый - часть стандартного Python (т.е. абсолютно межплатформенный). Это также означает, что окно сценария будет живо после двойного щелчка по значку файла сценария без потребности сделать
cmd /K python <script>
В Windows можно использовать msvcrt
модуль.
msvcrt.kbhit () Возвращают true, если нажатие клавиши ожидает, чтобы быть считанным.
msvcrt.getch () Read нажатие клавиши и возврат получающийся символ. Ничто не отражено к консоли. Этот вызов заблокируется, если нажатие клавиши не будет уже доступно, но не будет ожидать, Входят, чтобы быть нажатым.
, Если Вы хотите, чтобы это также работало над подобными Unix системами, можно попробовать это решение с помощью termios и fcntl модули.
Внешний модуль WConio может помочь здесь: http://newcenturycomputers.net/projects/wconio.html
import WConio
WConio.getch()
import pdb
pdb.debug()
Это используется для отладки сценария. Должно быть полезным для повреждения также.