我有一个osCommerce 2.2 MST,它有一些自定义添加。 osCommerce本身在ISO-8859-1中。添加在MySQL数据库中有一个表,现在在utf8_general_ci中(其他都在latin1_swedish_ci中)。我正在调用输出的php文件
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
正如我之前提到的,数据库中的数据是UTF-8。但是ö,ä,ü等字母显示正确。怎么会这样?应该没有utf8_decode
。但字母č显示为?
。我直接得到这个结果数组。如果我使用phpmyadmin进行查询,则显示正确。
我设法显示所有字母都正确显示(仅在脚本的一个部分中)。这就是我所做的
mysql_query("SET NAMES 'utf8'");
在php脚本中我也添加了
header('content-type: text/html; charset=utf-8');
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
然后发生了其他问题。
我想知道为什么UTF-8中的数据应该“正确”显示为什么不应该。如何才能正确显示字母??
我认为系统相当复杂。我在哪里以及如何看待这里有什么问题?
答案 0 :(得分:2)
我不知道您的数据经过的编码/解码顺序,但是ö,ä和ü等字母正确的原因,而č不是,是ö,ä和ü可以是以ISO-8859-1编码,但č不能。您需要在HTML中使用UTF-8而不是ISO-8859-1才能显示č。