php - Mysql/Phpmyadmin 中的德语元音变音

标签 php mysql utf-8 character-encoding

我有使用 UT8 编码的 Flex 应用程序。它正在发送回服务器 (PHP),并将数据写入 Mysql(UT8 字符集,utf8_general_ci)。我在从/向数据库写入/读取 Umlaute 时完全没有问题。

通过使用 PHPmyadmin 查看数据,我才意识到元音以某种方式转换为:

ö => ö¶ ü => ¼ 等

正如我所说,我完全没有问题。奇怪的是,当我直接用PHPmyAdmin将Umlaute写入数据库时​​,它们显示正确

现在我正在打印 PDF,我需要对所有值调用 ut8_decode() 以正确显示它们。但是,手动输入到数据库中的那些(在 phpmyadmin 中正确显示)不会被解码。

我假设那些没有写入 UT8 中的 Db,因为解码会使它们变形?

  1. )但为什么 UT8 编码值首先以这种奇怪的方式显示在数据库中? 2.) 如何使用 PHPmyAdmin 以 UTF 编码将数据输入到 mysql 中? (我已将连接设置为 ut8)。

谢谢, 马丁

最佳答案

我在同一个问题上挣扎了很长时间。连接到数据库后立即运行此查询,您的 Web 应用程序将显示字符,因为它们出现在 phpmyadmin 中:

设置名称 'utf8'

出于某种原因,MySQL 在我的系统上设置为假定输入和输出编码为 latin1,这意味着当我向它发送 utf8 输入时,它错误地将其存储在数据库中,但由于输出的转换是相反的,所以困惑已撤消并在浏览器中正确显示(使用 phpmyadmin 时除外,它会如实显示)。仅当转换结果为存储它的数据库字段中使用的字符集所允许的字符时,才会出现这种情况,因此除非您阻止上述查询发生此转换,否则您可能会出错。

关于php - Mysql/Phpmyadmin 中的德语元音变音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1053258/

相关文章:

sql - 查找一个表中不存在于另一表中的记录

python - 如何在 flask restful api 中响应一个 unicode 字符串?

php - 如何使用 PDO 执行输出字符串而不是单元素数组?

php - 使用 nginx 的服务器 dockerized Zend Framework 2 应用程序

php 数组未正确形成

MYSQL查询十亿条记录超时问题

sql-server - 连接到 MSSQL(或替代方案)的 sqsh 中的 Unicode

php - PHP 序列化函数是否兼容 UTF-8?

javascript - 如果我们点击页面中的任何地方,值就会更新

php - 我可以可靠地指望具有相同名称的 GET 变量的顺序吗?