当查询在WHERE子句上包含重音符号时,查询不返回任何内容
口音是问题的根源,我不知道如何解决它。
我认为UTF8中的编码没有完成,ORACLE UNISTR('')方法不起作用。
这两个查询在ORACLE SQL DEVELOPER中返回结果
此查询适用于:
$database->Parse("SELECT
ID_WORKSPACE_USERS,
LOGIN_WORKSPACE_USERS,
FONCTION_WORKSPACE_USERS
FROM WORKSPACE_USERS
WHERE FONCTION_WORKSPACE_USERS = UNISTR('Job 1')"
);
此查询不起作用(我的数据库中没有任何额外空间):
$database->Parse("SELECT
ID_WORKSPACE_USERS,
LOGIN_WORKSPACE_USERS,
FONCTION_WORKSPACE_USERS
FROM WORKSPACE_USERS
WHERE FONCTION_WORKSPACE_USERS = UNISTR('Job é')"
);
1条答案
按热度按时间gzszwxb41#
我找到了解决方案,这段代码允许使用UTF8编码查询数据库
您必须指明$字符集= 'AL 32 UTF8'。
此外,session_mode可以取3个值:
0:使用数据库编码
1:使用国家编码
2:使用AL 32 UTF8编码
我个人将session_mode设置为null,因为设置$character_set就足够了。
所以我从我的请求中删除了UNISTR函数,不再需要了。