php - 如何解码 PHP 中格式错误的字符串

标签 php iconv

我的数据库充满了编码错误,并且在尝试逆向查找原始数据时不知所措。

这是来自土耳其的示例地址。

M�¼ze M�¼d�¼rl�¼�Ÿ�¼
Konyalt�± Cad.
Muratpa�Ÿa
Antalya

更新

问题有两个。

  1. 原始 latin1_swedish_ci 表中的字符已损坏。即超出字符集的字符。
  2. phpMyAdmin 导出/导入期间使用双重 utf-8 编码。

后者的解决方案似乎是:

$str = str_replace('?', chr(194).chr(131), $str);
$str = utf8_decode(utf8_decode($str));

这并不能解决最初的损坏问题,编码信息已按照@cleong的建议丢失了

最佳答案

我假设你的数据库是MySQL。您更新编码并尝试吗?首先检查是否可以正确显示在 MySQL 中。将编码/排序规则设置为 UTF-8,使用 phpmyadmin 或 MySQL CLI 进行查询并检查其外观。

关于php - 如何解码 PHP 中格式错误的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12186604/

相关文章:

php - 获取目录名称并在 PHP 中拆分它们

javascript - 如何输出 javascript 并使 sleep 或 wait 在 foreach 循环中工作

在第二次刷新页面中设置 PHP cookie

php - SQL : Get all rows if date is nul

PHP iconv_strlen 问题

php - 将 CSV 文件导入 MySQL 数据库

r - 将\u 转义的 Unicode 字符串转换为 ASCII

Perl Text::Unaccent 有意想不到的结果

php - 通过 PHP 调用 iconv 在 Apache 和命令行中产生不同的结果

node.js - Nodejs jsdom编码