Hi Anthony --

The problem is that I don't want "LT" but rather "LE", i.e. "less than or 
equal to."

As far as my table comment, I meant that when I used the SQL table and its 
Fields to create an SQLTABLE, the labels "just worked" and produced a 
column header with the desired symbol instead of printing "≤" in the 
column heading.  So SQLTABLE behavior differed from SQLFORM in this manner.

I have found a workaround, finally, which lets me have symbols in both 
forms and tables:

elapsed_time_field("lcm_gt",label=CAT(T("LCM"),XML(" >"))),
elapsed_time_field("lcm_le",label=CAT(T("LCM"),XML(" ≤"))),
elapsed_time_field("scm_gt",label=CAT(T("SCM"),XML(" >"))),
elapsed_time_field("scm_le",label=CAT(T("SCM"),XML(" ≤"))),
elapsed_time_field("scy_gt",label=CAT(T("SCY"),XML(" >"))),
elapsed_time_field("scy_le",label=CAT(T("SCY"),XML(" ≤"))),

I first tried the obvious, letting T() handle the substitution but again, 
that doesn't work.  The &xx; character escapes get printed literally in the 
form label instead of creating the symbol I intended.  So I got around the 
problem with CAT().  Still, an awful amount of work and hassle to 
reverse-engineer and make a work around for something that just should have 
worked.

I'm not sure why &xx; is "sanitized" to begin with.  It seems like an 
extreme form of sanitizing, to eliminate any and all special characters 
from form labels.

-- Joe

On Wednesday, July 26, 2017 at 5:16:55 PM UTC-7, Anthony wrote:
>
> On Wednesday, July 26, 2017 at 7:43:14 PM UTC-4, Joe Barnhart wrote:
>>
>> It's even worse than I imagined.
>>
>> Leaving off the T() operation, I find that my field labeled "LCM >" is 
>> actually sanitized at some point into:
>>
>> <label class="control-label col-sm-5" for="event_join_lcm_gt" 
>> id="event_join_lcm_gt__label">LCM &gt;: </label>
>>
>> Yes, something in the process has *recognized* the character ">" and 
>> changed it to "&gt;"  But the field "LCM &le;" was sanitized into:
>>
>> <label class="control-label col-sm-5" for="event_join_lcm_le" 
>> id="event_join_lcm_le__label">LCM &amp;le;: </label>
>>
>> In this case, not only was the &le; *not recognized* by the sanitizer, 
>> it actually DE-SANITZED it by removing the ampersand and sanitizing it 
>> separately.
>>
>
> Both of the above are encoded as expected -- the ">" character is 
> converted to "&gt;", and the "&" character in "&lt;" is converted to 
> "&amp;". This is consistent and expected behavior. If you want to end up 
> with "&lt;", then why not just start with "<"?
>
> What is your ultimate goal? Do you not want the final HTML to include the 
> "&gt;" and "&lt;" HTML entities so they display as ">" and "<" on the page?
>
> Also, what do you mean by, "If I use the Field titles directly in a table 
> on my own, they work as expected?" In each case, what do you want to 
> display on the page, and what are you expecting in the raw HTML?
>
> Anthony
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to