ошибка остановки сценария оболочки

У меня стандартная проблема с кодировкой импорта MySQL, но я не могу ее решить.

У моего клиента запущена установка WordPress на некоторое время. Я скопировал базу данных в файл и импортировал его локально. На полученных страницах разбросано � символов.

Я проверил свойства базы данных с обеих сторон: production: show create database wordpress;

CREATE DATABASE `wordpress` /*!40100 DEFAULT CHARACTER SET latin1 */

local: show create database wordpress;

CREATE DATABASE `wordpress` /*!40100 DEFAULT CHARACTER SET latin1 */

production: show create table wp_posts;

CREATE TABLE `wp_posts` (
  `ID` bigint(20) unsigned NOT NULL auto_increment,
  ...
  KEY `post_date_gmt` (`post_date_gmt`)
) ENGINE=MyISAM AUTO_INCREMENT=7932 DEFAULT CHARSET=utf8

local: show create table wp_posts;

CREATE TABLE `wp_posts` (
  `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  ...
  KEY `post_date_gmt` (`post_date_gmt`)
) ENGINE=MyISAM AUTO_INCREMENT=7918 DEFAULT CHARSET=utf8

Я часами читал форумы о том, как раздавить �, но я ничего не могу заставить работать. 99% ответов говорят о соответствии набора символов между базами данных.Я думаю, что должно сработать, если следующее:

mysqldump --opt --compress --default-character-set=latin1 -uusername -ppassword wordpress | ssh username@anotherserver.net mysql --default-character-set=latin1 -uusername -ppassword wordpress

Я также сделал это, используя набор символов utf8. По-прежнему с �.

Я попытался изменить дамп SQL напрямую, добавив utf8 или latin1 в строку «SET names UTF8». По-прежнему с символами �.

Странные симптомы

Я бы ожидал, что эти символы � появятся вместо специальных символов в контенте, например ñ или ö , но я видел это там, где обычно было бы просто пространство. Я также видел его вместо апострофов (, но не всех апострофов ), двойных кавычек и символов товарных знаков.

Знак � встречается довольно редко. Они появляются в среднем от трех до четырех раз на странице.

Я не вижу никаких знаков � при просмотре базы данных через Sequel Pro (локально или в реальном времени). Я не вижу никаких символов � в SQL при просмотре через Textmate.

Что мне не хватает?

РЕДАКТИРОВАТЬ

Дополнительная информация:

Я попытался определить, что, по мнению живой базы данных, кодировка есть. Я запустил показать состояние таблицы , и мне кажется, что параметры сортировки представляют собой смесь utf8_general_ci, utf8_bin и latin1_swedish_ci`. Чем они отличаются? Имеет ли это значение?

Я также запустил: показать переменные, такие как "character_set_database" и получил latin1 ;

10
задан Matt 13 May 2011 в 00:03
поделиться