我正在运行Perl 5.10.0和Postgres 8.4.3,并将字符串放入DBIx :: Class后面的数据库中.
这些字符串应该是UTF-8,因此我的数据库以UTF-8运行.不幸的是,其中一些字符串很糟糕,包含格式错误的UTF-8,所以当我运行它时我得到一个例外
DBI Exception: DBD::Pg::st execute failed: ERROR: invalid byte sequence for encoding "UTF8": 0xb5
我认为我可以简单地忽略无效的那些,并且稍后担心格式错误的UTF-8,所以使用这个代码,它应该标记并忽略坏标题.
if(not utf8::valid($title)){
$title="Invalid UTF-8";
}
$data->title($title);
$data->update();
Run Code Online (Sandbox Code Playgroud)
但是Perl似乎认为字符串是有效的,但它仍然会抛出异常.
如何让Perl检测出坏的UTF-8?
我想在我的应用程序中添加一张地图,其中包含不同颜色国家,国家(美国)和省(加拿大)的世界地图.用户应该可以放大以查看详细信息,因为看到整个世界的比例不适合在欧洲看到细节.颜色需要从我的应用程序编程,因此简单的图像映射是不合适的.
显然,首先要看的是谷歌,但谷歌地图似乎无法对代码国家进行着色.Google Charts可以生成单个图像,但不可缩放.
我对谷歌有误,还是有其他方法可以用来制作合适的地图?它是rails应用程序上的一个ruby,所以任何特定于ruby的东西都很好,但理想情况下不是任何其他语言,但如果它是唯一的方法,那么它是唯一的方法.