php - 无法从数据库中获取要显示的正确字符

标签 php mysql unicode character

我正在重新设计一个网站,但现有数据库存在问题: 数据库排序规则设置为utf8_unicode_ci,在表行中我调用的排序规则似乎设置为latin1_swedish_ci,其中存储的字符是日语(但即使在phpmyadmin中)你也会看到其他字符(我猜是因为latin1_swedish_ci)。

当我打印查询结果时,我得到一堆???现在使用

    mysql_query('SET NAMES utf8');
 mysql_set_charset('utf8',$conn); 

将输出 2009–N10ŒŽ’ 2009?N10???2009–N11ŒŽ’ 2009?N11???

有什么想法吗?

最佳答案

由于该表设置为使用latin1_swedish_ci,因此无法正确存储输入的UTF-8数据。您需要切换该表以使用 utf8_unicode_ci 来处理 future 的数据,但任何现有数据基本上都已损坏。切换排序后,您必须重新输入数据才能为现有记录获取正确的日语字符。

关于php - 无法从数据库中获取要显示的正确字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2359827/

相关文章:

php - php中的简单注册页面

php - PHP 等式(== 双等式)和恒等式(=== 三等式)比较运算符有何不同?

php - Jquery $.ajax 特殊字符问题

MySQL - 与请求值关联的多个值

html - unicode字符是什么 代表?

php - 在 SESSION 中存储信用卡号 - 解决方法?

mysql - 从 Hibernate/MySQL 获取数据性能

java - 使用java在一个连接中进行多个sql查询

unicode - 按特定字形划分字体子集

python - 如何使用 Autokey keyboard.sendkeys() 发送 Unicode 字符?