我的大脑很痛,所以我需要帮助来解决这个问题。我已经阅读了许多类似的编码问题,但我找不到任何可以帮助我解决这个特定问题的信息。
我有一个从数据库读取数据的 PHP 服务。它将字符集设置为:
mysql_set_charset('utf8', $con)
基本上它然后执行一个查询并循环通过数据库项目,如下所示:
while($row = mysql_fetch_object($result)) {
$row->MyField1 = utf8_encode($row->MyField1);
$row->MyField2 = utf8_encode($row->MyField2);
...
$res[] = $row;
}
并以:
print json_encode($res);
然后我从 Ruby(一个 sinatra 应用程序)读取数据:
uri = URI(str)
source = Net::HTTP.get(uri)
src = JSON.parse(source)
src.each do |s|
# Display s.MyField1 in HTML here.... HTML page is HTML5 and <meta charset="utf-8">
end
问题是我显示的字符串如下:
ALLMÃNHETENS ÃKNING
'Ã'
对我来说,一些未知的角色在哪里。它应该正确地出现'Ä'
在第一次出现和'Å'
(瑞典语 A 带有'ring diacritic' http://en.wikipedia.org/wiki/Ring_(diacritic))。
是错误的PHP代码吗?还是 Ruby 代码?如果有人能指出我正确的方向,我将不胜感激?坦率地说,我不知道从哪里开始追逐错误。