utf8 иврит на консоли mysql на Debian (через Putty на Windows)

utf8 иврит на консоли mysql на Debian (через Putty на Windows)

У меня есть сервер SQL, работающий на Debian Linux и размещенный на linode.com. Некоторые из моих данных содержат символы иврита.

Я подключаюсь к серверу через Putty SSH на Windows 7. Когда я запускаю консоль администратора SQL (MySQL) и выполняю запрос SELECT, все символы иврита отображаются как «?».

Я даже не уверен, в чем проблема, но предполагаю, что либо консоль MySQL, либо Putty теряют иврит.

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

есть идеи, что мне следует сделать, чтобы включить иврит в этом сценарии?

Спасибо.

решение1

Кодировки символов немного изменчивы, это может быть связано с вашими данными (которые, в конце концов, являются всего лишь двоичными).

Сначала вам следует проверить кодировку вашей базы данных и индивидуальную кодировку таблицы. Кодировка относится к внутреннему хранилищу… хорошим примером может быть то, что вы сохраняете, ISO-8859-1поэтому база данных ожидает только ISO-8859-1, но если некоторые данные на иврите, этих символов нет validв ISO-8859-1.. но если клиенты, вносящие данные и получающие их, используют ISO-8859-8(иврит), это в основном будет работать.

Здесь— руководство от MySQL по этой теме.

Я бы рекомендовал (где это возможно) использовать UTF-8, на это есть ряд причин, но, пожалуйста, не меняйте слепо кодировку вашей базы данных, так как это не перекодирует данные, а просто информирует MySQL о том, что их следует обрабатывать как UTF8. (Что приведет к повреждению ваших данных, если источником является ISO-8859-1 или ISO-8859-8.)здесь— это еще один учебник по кодировкам символов, и вам стоит его еще раз просмотреть.«Минимум, который должен знать любой инженер-программист о Unicode»

Кроме того, ваш терминал (ваша сессия bash), эмулятор терминала (putty) и консоль базы данных (mysql) должны знать, с какой кодировкой они имеют дело... лучше всего указать им UTF-8... и затем работать с данными UTF-8.

Связанный контент