我有以下脚本:
header('Content-type: text/plain; charset=utf-8');
$rq = "SELECT `name` FROM `mapamond_countries` WHERE `id` = 93";
$str = $db->GetAll($rq);
var_dump($str[0]['name']);
var_dump("شيلى");
字符串 شيلى 是从数据库 (phpmyadmin) 复制粘贴的。
第一个 var_dump: string(25) "بلجيكا"
第二个 var_dump: string(8) "شيلى"
任何人都可以解释为什么会出现这种差异以及如何解决它吗?数据库整理、表整理和列整理是 utf8_unicode_ci。
最佳答案
尝试:
1- 运行此查询 ALTER DATABASE mydatabasename charset=utf8;
2-在你做任何查询之前使用SET NAMES utf8
3-在创建新表时使用DEFAULT CHARSET=utf8
改变表格
ALTER TABLE `tableName` CHARACTER SET utf8;
关于从 mysql 中选择时,PHP 字符串未转换为 utf 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28721403/