将表情符号从 php 网络应用程序传递到 Oracle 数据库和 mysql
passing emojis from php web app into Oracle db and mysql
我们有一个发送短信的 php (codeigniter) 网络应用程序。我们连接的数据库是 oracle。当一些客户试图通过我们的网络应用程序发送表情符号时,表情符号在手机消息中的显示效果不佳 phone。我们可以在 sql plus 中看到表情符号,但在 pl sql 中显示效果不佳。我们假设它与某些编码问题有关,但不能指出确切的问题。
流程就是这样
- PHP插入 oracle。
- Java 从 oracle 到 mysql.
- 插入 mysql。
- 作为消息发送到手机 phone。
例如:
这是 php 文本区域中的样子:
这是 PL/SQL 插入 oracle 后的样子:
这是 SQL PLUS 插入 oracle 后的样子:
这就是它在 mysql 中的样子:
并且也在移动 phone 消息中:
mysql和oracle中的charset是utf8mb4
我们尝试将 php 中的查询更改为类似于插入 sms(messaage) 值 (?) 我们尝试将列的类型从 varchar2 更改为 clob
编辑
我认为从 PHP 到 oracle 的连接设置得很好,正如您在此处看到的那样:
我找到了解决办法。
需要将连接字符集从 php 更改为 oracle 以 'AL32UTF8' insted of 'utf8'。
现在效果很好。谢谢
我们有一个发送短信的 php (codeigniter) 网络应用程序。我们连接的数据库是 oracle。当一些客户试图通过我们的网络应用程序发送表情符号时,表情符号在手机消息中的显示效果不佳 phone。我们可以在 sql plus 中看到表情符号,但在 pl sql 中显示效果不佳。我们假设它与某些编码问题有关,但不能指出确切的问题。
流程就是这样
- PHP插入 oracle。
- Java 从 oracle 到 mysql.
- 插入 mysql。
- 作为消息发送到手机 phone。
例如:
这是 php 文本区域中的样子:
这是 PL/SQL 插入 oracle 后的样子:
这是 SQL PLUS 插入 oracle 后的样子:
这就是它在 mysql 中的样子:
并且也在移动 phone 消息中:
mysql和oracle中的charset是utf8mb4
我们尝试将 php 中的查询更改为类似于插入 sms(messaage) 值 (?) 我们尝试将列的类型从 varchar2 更改为 clob
编辑
我认为从 PHP 到 oracle 的连接设置得很好,正如您在此处看到的那样:
我找到了解决办法。 需要将连接字符集从 php 更改为 oracle 以 'AL32UTF8' insted of 'utf8'。 现在效果很好。谢谢