【发布时间】:2016-02-07 08:06:02
【问题描述】:
我遇到了use JSON::XS qw(encode_json); 中的 encode_json 函数问题。我们有一个基于 Web 的项目,以 Perl、JavaScript、jQuery 和 MySQL 作为后端。
在应用程序的特定屏幕中,用户名被扭曲。
问题是用户名是西班牙语并且有重音字符。 我们保存数据库的表是旧表并且具有 charset latin 1,但是当我获取数据时,我使用强制转换并将其编码为 UTF-8 格式。
select CONVERT(CAST(CONVERT(u.last_name USING latin1) AS BINARY) USING utf8) AS last_name from user where user_id = 'XXX'
在我存储数据库结果的结构中,数据看起来很好。
{ last_name => Cvas García}
这个结构被传递给呈现页面的javascript函数
$data_json = encode_json( $data )
当我打印$data_json 时,重音字符再次失真。
"user_permissions":[{"last_name":"Cvas GarcÃa"}]},
谁能帮我解决这个问题,无论是在 Mysql 还是 perl 或 javascript 代码中?
【问题讨论】:
标签: javascript mysql ajax perl utf-8