社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

php/mysql中的编码问题

Chris B. • 6 年前 • 746 次点击  

编辑:在收到我原来的帖子的反馈后,我修改了文本来澄清我的问题。

我有以下查询(伪代码):

$conn = mysql_connect('localhost', 'mysql_user', 'mysql_password');
mysql_query("SET NAMES 'utf8'; COLLATE='utf8_danish_ci';");

mysql_query("SELECT id FROM myTable WHERE name = 'Fióre`s måløye'", $conn);

这将返回0行。

在我的日志文件中,我看到了:

255 Connect     root@localhost on 
255 Query       SET NAMES 'utf8'; COLLATE='utf8_danish_ci'
255 Init DB     norwegianfashion
255 Query       SELECT id FROM myTable WHERE name = 'Fióre`s måløye'
255 Quit
  • 如果我直接在phpmyadmin中运行查询,就会得到结果。
  • 表编码:UTF-8
  • HTML页面编码:UTF-8
  • 我可以添加(从表单输入)名称使用重音符号的记录(例如“fi_3;re's h_ elberg”)。
  • 使用->“name like'$labelname%”,可以读取带有重音的记录。
  • 数据库中的信息看起来不错

我不知道为什么我不能选择任何名字带有重音字符的行。

我真的希望有人能帮助我。

更新1: 我已达成妥协。我将在存储数据时使用htmlentities转换重音符号,在从数据库检索数据时使用html_entity_解码。这似乎奏效了。

到目前为止,我看到的唯一缺点是,我无法使用phpmysql读取明文中的名称。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30742
 
746 次点击  
文章 [ 6 ]  |  最新文章 6 年前