我正在使用一个具有MySQL数据库的rails应用程序。它是一个拥有国际受众的web应用程序。经过几天的工作,我注意到所有的表和数据库本身都使用latin1_sweedish_ci作为排序规则。后来,在文本字段中,我发现了像这样的mumble乱码:
It’s educational and
显然这是由于错误的字符集造成的。如果它是UTF-8,这种情况就不会发生。但是,既然发生了这种情况,我们可以将这些损坏的数据恢复/转换为utf吗?
我正在尝试使用Microsoft驱动程序和DBI包从我的Mac中建立到Server的连接。
但是,连接会建立字符字段,即使那些没有特殊字符的字段也会返回乱码。数据库是专有的,所以我对我能显示的实际输出是有限的。数字字段返回很好。
其他一些音符。
如果我提交了一个查询,我可以使用正确的表接收记录集。例如,下面的查询返回结果,列名是正确的。列中的数据被混淆为
> dbGetquery(con, "Select name from tb1", n = 1)
Warning: Pending rows
name
1 CalteMtrSeda
d
我在我的应用程序中有一个描述字段,如果我引用这样一句话:‘它破坏了一切。我在整个描述字段上使用htmlentities(),所以我尝试使用htmlspecialchars(),但它也失败了。
在下面的屏幕截图中,我发送了字符串“I‘to like this to work”,得到了下面的乱码
我以前遇到过这个问题,但我不确定如何解决它。