php - UTF8 -> Latin1 难度,PHP

标签 php mysql utf-8 character-encoding latin1

我正在丢失重音字符。

我从 PHP 下载一个使用 UTF8 的 xml 文件,而我的 PHP 脚本使用 Latin1。我无法将 UTF8 转换为 Latin1。

我已经尝试过这个:

$meta=mb_convert_encoding($meta,'CP1252','UTF-8');

$meta=mb_convert_encoding($meta,'UTF-8');
$meta=mb_convert_encoding($meta,'CP1252','UTF-8');

但无论哪种方式,重音字符都会被破坏并变成 2 个字符。

输入:

<title>First book of zoölogy</title>

输出:

<title>First book of zoo?logy</title>

我自己弄清楚了,请参阅下面的答案。谢谢大家的帮助!

最佳答案

在连接到数据库之前更改 Utf8_general_ci 表的排序规则:

mysql_set_charset("utf8");

我认为这可以解决您的问题。

关于php - UTF8 -> Latin1 难度,PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9764761/

相关文章:

php - CSS 似乎不适用于 PHP

php - 调用css、js文件的最佳方式?

mysql - 在查询 select MySQL 上使用表行作为列

Python 3 unicode 到 utf-8 文件

xml - 如何使用Groovy构建器StreamingMarkupBuilder在UTF-8中转换XML文件

PHP 通过 curl 发送 POST 请求

php - PDO 自定义类和安全性

mysql - 使用 Min(ID) 删除同义词对

c++ - Qt5.5 32bit 连接到 MySQL 数据库 - 受限用户帐户

java - ResponseEntity 解码 UTF-8