Мой sql-сервер работает на Debian Linux, размещенном на linode.com. Некоторые из моих данных содержат ивритские символы.

Я подключаюсь к серверу через замазку SSH на Windows 7. когда я запускаю консоль администратора sql (mysql) и выполняю запрос на выбор, все ивритские символы отображаются как '?».

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

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

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

Благодарю.

1 ответ1

0

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

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

Вот руководство от MySQL по теме.

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .