mysql,php-字符编码问题`
|
我正在使用zend框架进行项目,并且正在从utf-8数据库中提取数据。该项目也是utf-8。
在表单中,我有一个select元素,用于显示国家/地区列表。问题是:
在法语或西班牙语中,未显示某些国家。
在完成我的国家列表的var_dump()之后,我看到那些是具有特殊字符的国家。有口音的。
在var_dump中,我可以看到以?表示的字符。在钻石中。我尝试将编码更改为iso-8859-1,我可以看到带有特殊字符的var_dump结果很好。
来自utf-8数据库的数据如何在iso-8859-1中显示!
我可以在MySQL的utf-8表中存储iso-8859-1字符集吗?它不应该显示混乱的字符吗?
困惑。
-
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$$
没有找到相关结果
已邀请:
2 个回复
癸痊醒
对于application.ini
作为最后的选择,您可以像其他查询一样,手动运行此查询
。
扭湘阀柿蹄
标头,使用
标记(对于HTML5,对于其他HTML变体,请使用
) 在您使用“ 8”的情况下,只有一些纯文本发送到浏览器,而没有提及任何字符集。查看规则3,这意味着您的浏览器以不同的字符集(可能是latin1)显示此字符,从而为您提供菱形/问号/块。 如果需要检查数据是否存储正确,请使用数据库客户端(如PHPMyAdmin)查看记录。这样,您将以UTF-8格式查看内容(注意:这是PMA中的设置,因此请检查它是否未设置为其他字符集!)。 附带说明一下,将数据库的文本列的排序规则设置为utf8_general_ci,这不是用于存储,而是用于排序。因此,这与您的问题无关,但是这样做是一个好习惯。