php - 如何将 utf-8 字符串解码为实际文本?
问题描述
为了这个特定目的,我正在使用带有 php 5.6 和 mysql db 的 codeigniter。我想将来自不同语言的字符串存储到数据库并稍后检索它们。我在这里面临的问题是,当我试图获取值时,它不是给出确切的文本,而是以以下格式显示一些内容。
%E0%A4%A8%E0%A4%AE%E0%A4%B8%E0%A5%8D%E0%A4%A4%E0%A5%87
这是一些测试代码
function charset($get = NULL){
$direct = "नमस्ते";
$this->load->database();
if($get != NULL){
$this->db->insert('test', array("name"=>"get", "value"=>$get));
$this->db->insert('test', array("name"=>"direct", "value"=>$direct));
}
$results = $this->db->get('test')->result_array();
echo "<pre>";
print_r($results);
}
这是结果
Array
(
[0] => Array
(
[id] => 16
[name] => get
[value] => %E0%A4%A8%E0%A4%AE%E0%A4%B8%E0%A5%8D%E0%A4%A4%E0%A5%87
)
[1] => Array
(
[id] => 17
[name] => direct
[value] => नमस्ते
)
)
您将如何获得(或转换)确切的单词而不是 ut8 编码的字符串?
解决方案
我已经检查了您的代码,如下所示,它返回了正确的值:
$variable = '%E0%A4%A8%E0%A4%AE%E0%A4%B8%E0%A5%8D%E0%A4%A4%E0%A5%87';
echo urldecode($variable);
希望我正确理解了您的代码。
推荐阅读
- php - 按不同表格过滤产品 - Cakephp 3.8
- ios - Swift - 将链接从初始化参数拉到 MapView 注释
- javascript - 使用 if 语句和逻辑 AND 运算符等待
- laravel - PHP 的 date() 方法是否有任何预配置的日期格式?
- rest - REST 只是创建一个好的 api 的理论吗?
- python - 为什么 __init__ 函数内部的 if,else 条件无法正常工作?蟒蛇 3
- angular - Angular-in-memory-web-api PUT 返回 null
- node.js - 续集迁移未连接到数据库?
- javascript - NextJS 中的静态分页
- android - AVD 管理器,无法找到 ADB