Я делаю проект с Zend Framework и извлекаю данные из базы данных utf-8. Проект также utf-8.
В форме у меня есть элемент select, отображающий список стран. Проблема в:
На французском или испанском языках некоторые страны не отображаются.
После выполнения var_dump () из моего списка стран я увидел, что это страны со специальными символами. Акцентированные.
в var_dump я мог видеть символ, представленный как? в бриллианте. Я попытался изменить кодировку на iso-8859-1, и я смог увидеть результат var_dump со специальными символами.
Как данные, поступающие из базы данных utf-8, отображаются в iso-8859-1!
Могу ли я без проблем сохранить набор символов iso-8859-1 в таблице utf-8 в mysql? Разве не должны отображаться испорченные символы?
спутать.
-
delimiter $$
CREATE TABLE `geo_Country` (
`CountryID` int(10) NOT NULL,
`CountryName` varchar(45) NOT NULL,
`CountryCompleteName` varchar(45) NOT NULL,
`Nationality` varchar(45) NOT NULL,
`CreationDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`Status` tinyint(1) NOT NULL DEFAULT '1',
`LanguageCode` char(2) NOT NULL,
`ZoneID` int(10) NOT NULL,
PRIMARY KEY (`CountryID`,`LanguageCode`),
KEY `fk_geo_Country_web_Language1` (`LanguageCode`),
KEY `fk_geo_Country_geo_Zone` (`ZoneID`),
KEY `idx_CountryName` (`CountryName`)
CONSTRAINT `fk_geo_Country_geo_Zone` FOREIGN KEY (`ZoneID`) REFERENCES `geo_Zone` (`ZoneID`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_geo_Country_web_Language1` FOREIGN KEY (`LanguageCode`) REFERENCES `web_Language` (`LanguageCode`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8$$