将PHP 5.3.3升级到PHP 5.5.38 PEAR编码问题

问题描述

我正在尝试将旧系统从PHP 5.3.3升级PHP 5.5.38。我从db读取数据,然后写入文件并处理该文件。使用PHP 5.3.3(PHP ini认字符集拉丁语或utf8)时,编码字符(非英语字符)可以正常工作,但使用PHP 5.5.38时,编码字符不能很好地工作。

我在登台服务器中更改了RDS db配置参数character-set-server = latin1,编码工作正常。

生产RDS MysqL DB配置

MysqL> show variables like "%character%";
+--------------------------+-----------------------------------------------------------------+
| Variable_name            | Value                                                           |
+--------------------------+-----------------------------------------------------------------+
| character_set_client     | utf8                                                            |
| character_set_connection | utf8                                                            |
| character_set_database   | utf8                                                            |
| character_set_filesystem | binary                                                          |
| character_set_results    | utf8                                                            |
| character_set_server     | utf8                                                            |
| character_set_system     | utf8                                                            |
| character_sets_dir       | /rdsdbbin/oscar-5.6.MysqL_aurora.1.19.2.0.157.0/share/charsets/ |
+--------------------------+-----------------------------------------------------------------+

,但表中的内容使用拉丁字符。当我在MysqL客户端中查看文本时,会看到此

บรà¸à¸à¸à¸²à¸£模型剪辑หน้าใหม “ ิดเงà¸àà™5à5š。 ดู

使用PEAR版本的PHP 5.3.3:1.9.4

使用PEAR版本的PHP 5.5.38:1.10.12

我不知道是什么原因导致了此问题?从数据库读取数据后,只需将其写入文件中,即可在PHP 5.3.3中工作,而在PHP 5.5.38中不工作(不使用htmlspecialchars)。

我检查了PEAR更改日志,但是找不到与字符集有关的任何内容

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...