.png)
У меня есть сервер 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.