Мой клиент использует очень устаревшее управление электронной коммерцией системы на моем хостинге. Для этого продукта поставщик больше не предоставляет поддержки.
Краткое объяснение: сайт магазина, который претензии для работы в стеке LAMP создается старым приложением Windows Visual Basic, работающим в MS Access. Пользователь создает магазин, определяет шаблон HTML, добавляет товары и категории и т. Д.
затем VB exe создает страницы PHP (по одной для каждой страницы шаблона) и сценарий SQL для запуска в MySQL. Он также загружает все через FTP и самостоятельно запускает сценарий установки / обновления.
При просмотре веб-сайта описания многих продуктов обрезаются до euro
подписать. Например, то, что должно было быть «Цена продукта 1000 евро», будет «Цена продукта».
^À
Sat Dec 15 11:16:57 2012 22 xxx.xxx.128.13 1112727 /srv/www/domains/xxxxxx.it/htdocs/db.sql b _ i r xxxxxxx ftp 0 * c
что кажется двоичный передача (а также огромная уязвимость безопасности, потому что вы можете загрузить всю базу данных с неаутентифицированного HTTP)Похоже, файл загружается как двоичный. Возможно, на предыдущем хосте клиента все работало нормально, потому что это был хост Windows.
Это виртуальная машина Azure под управлением openSUSE 12.2 с обоими vsftpd
и openSSH
Не прося клиента вручную загружать файлы с помощью FileZilla или заменяя €
с участием €
, поскольку он отказывается, что я могу сделать на стороне сервера, чтобы vsftpd не испортил знак евро?
Вы можете попробовать изменить кодировку файла SQL вместе с разделителем строк. Или ВЫ можете изменить весь символ на €
.
Установив набор символов MySQL по умолчанию, отличный от UTF-8, я могу правильно отображать евро
#default-character-set = utf8
collation-server = latin1_general_ci
#init-connect='SET NAMES latin1_general_ci'
character-set-server = latin1
Первая строка прокомментирована, потому что моя версия MySQL не распознала ее. Третья прокомментирована, потому что я получал ошибку при каждом подключении, зарегистрированном в журнале сервера, и соединение было обрезано (поэтому каждый сайт отключен)
Я говорю, что исправление частичное, потому что я обошел загрузку FTP и запустил SQL прямо в phpMyAdmin с правильным знаком евро