[wp-trac] [WordPress Trac] #33864: Cannot add accented tag if non-accented look-alike exists (eg. szel, szél)
WordPress Trac
noreply at wordpress.org
Wed Sep 23 15:09:31 UTC 2015
#33864: Cannot add accented tag if non-accented look-alike exists (eg. szel, szél)
------------------------------------+-----------------------
Reporter: geza.miklo | Owner:
Type: defect (bug) | Status: reopened
Priority: normal | Milestone: 4.4
Component: Taxonomy | Version: 4.3
Severity: normal | Resolution:
Keywords: has-patch dev-feedback | Focuses:
------------------------------------+-----------------------
Changes (by boonebgorges):
* keywords: has-patch => has-patch dev-feedback
Comment:
Switching to `BINARY` means, among other things, that term matches will be
case-sensitive. This is a change from current behavior.
Can I ask for a couple things -
* Let's do a review of where `get_term_by()` is used in core. Are there
places in the core interface where we depend on the case-insensitivity of
a `get_term_by()` check?
* If we have a problem like this in `get_term_by()`, it's certain that the
same problem arises elsewhere. At a very quick glance, `term_exists()` and
`get_terms()` (with 'name') will be affected. Likewise with Posts. We
should have a single solution for all of these.
* It looks like casting the field to `BINARY` means that we lose the use
of the index. The comments on https://dev.mysql.com/doc/refman/5.0/en
/charset-binary-op.html suggest that we should cast the comparison value
instead: `$field = BINARY %s`. This needs testing.
* Another (maybe lame) idea is to do the byte comparison in PHP, where we
can more easily control for things like case. So, maybe instead of
`get_row()` we `get_results()`, and then loop through to find the one that
matches the field value exactly.
@pento or someone else with more MySQL expertise than me: what other side
effects will we risk by doing a `BINARY` comparison here?
--
Ticket URL: <https://core.trac.wordpress.org/ticket/33864#comment:5>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list