Register - Login
Views: 99393410
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-24-22 10:25:33 AM
Jul - Meta - Quoting and previewing are broken (sometimes) New poll - New thread - New reply
Next newer thread | Next older thread
Joe
Common spammer
🍬
Level: 111


Posts: 3141/3392
EXP: 14489233
For next: 379127

Since: 08-02-07

From: Pororoca

Since last post: 3 days
Last activity: 8 hours

Posted on 07-14-14 05:37:11 PM Link | Quote
You can't quote this post.

—×

If you include one of those characters in your post and click on preview, the textarea will be empty.

____________________
ふにゃあ。
Xkeeper

Level: 263


Posts: 21323/25343
EXP: 296722349
For next: 2238104

Since: 07-03-07

Pronouns: they/them/????????

Since last post: 9 days
Last activity: 3 days

Posted on 07-15-14 03:00:08 AM Link | Quote
I have no idea why this happens

____________________
Xkeeper

Level: 263


Posts: 21324/25343
EXP: 296722349
For next: 2238104

Since: 07-03-07

Pronouns: they/them/????????

Since last post: 9 days
Last activity: 3 days

Posted on 07-15-14 03:05:56 AM Link | Quote
Originally posted by Joe
You can't quote this post.

—×

If you include one of those characters in your post and click on preview, the textarea will be empty.

inu pointed it out, php apparently defaults to utf8 now and we're still rocking good ol' ISO-8859-1.


"if php runs into something unexpected, catch fire and throw away everything without even printing a warning". thx

____________________
Arisotura
Member
Level: 49


Posts: 93/614
EXP: 880012
For next: 3871

Since: 02-24-13

From: your dreams

Since last post: 93 days
Last activity: 51 days

Posted on 07-19-14 03:21:11 PM Link | Quote
It's also worth noting that the board's pages don't specify an encoding.

Here, Firefox defaults to Windows-1252, so it works, but it might break if the browser chooses to use something else as a default. Hell, I remember there's a related security issue with IE.

____________________
Kuribo64 -- SM64DS hacking
Joe
Common spammer
🍬
Level: 111


Posts: 3143/3392
EXP: 14489233
For next: 379127

Since: 08-02-07

From: Pororoca

Since last post: 3 days
Last activity: 8 hours

Posted on 07-19-14 03:45:16 PM Link | Quote
Throwing everything away is actually a feature. It's impossible to have any UTF-8 exploits if the parser immediately gives up when it hits something malformed.

It'd be nice if the board at least had a <meta> tag or something, at least until the eventual conversion to UTF-8.

____________________
ふにゃあ。
Arisotura
Member
Level: 49


Posts: 95/614
EXP: 880012
For next: 3871

Since: 02-24-13

From: your dreams

Since last post: 93 days
Last activity: 51 days

Posted on 07-19-14 03:48:52 PM Link | Quote
The trickiest part in the conversion is that the database uses Latin1. Every text field in there would have to be reencoded to UTF8.

If you want to change the database to use UTF8, you have to change the encoding used by every table but also every text column, because MySQL is silly like that. This isn't necessary, though. Database encoding doesn't matter to PHP's MySQL backend which just returns the raw data. However, other applications may care about the encoding and not work properly.

____________________
Kuribo64 -- SM64DS hacking
Xkeeper

Level: 263


Posts: 21330/25343
EXP: 296722349
For next: 2238104

Since: 07-03-07

Pronouns: they/them/????????

Since last post: 9 days
Last activity: 3 days

Posted on 07-24-14 04:16:31 AM Link | Quote
the problem with adding a meta tag is (like stated) everything previously posted ends up half-corrupt. there actually used to be a meta tag for a little while before we found that little feature out

____________________
Joe
Common spammer
🍬
Level: 111


Posts: 3147/3392
EXP: 14489233
For next: 379127

Since: 08-02-07

From: Pororoca

Since last post: 3 days
Last activity: 8 hours

Posted on 07-24-14 03:59:27 PM Link | Quote
Posts already show up corrupt all the time.

Or does PHP detect the meta tag and become even more dumb than usual?

____________________
ふにゃあ。
Xkeeper

Level: 263


Posts: 21331/25343
EXP: 296722349
For next: 2238104

Since: 07-03-07

Pronouns: they/them/????????

Since last post: 9 days
Last activity: 3 days

Posted on 07-24-14 05:39:44 PM Link | Quote
I forget the specifics.

____________________
IIMarckus
Member
Level: 25


Posts: 102/111
EXP: 82217
For next: 7403

Since: 10-11-08


Since last post: 3.0 years
Last activity: 1.7 years

Posted on 07-25-14 04:52:00 PM Link | Quote
Originally posted by StapleButter
It's also worth noting that the board's pages don't specify an encoding.

Here, Firefox defaults to Windows-1252

Not all the time, which is part of the problem. By the way, I can quote and preview Joe’s original post. As usual, different people have different behavior in their browsers, and that leads to a mess.

The way to go here would be:

  1. Dump every field of the database to a separate file.
  2. Use something like uchardet to figure out exactly how each field is encoded.
  3. Use iconv to convert to UTF-8.
  4. (Maybe not necessary: strip out any UTF-8 byte‐order marks, the sequence of three bytes 0xEF,0xBB,0xBF. This shouldn’t happen but Windows likes to add them to UTF-8 files; PHP and MySQL do not play well with them.)
  5. Reconstruct the database from scratch using MySQL’s utf8mb4 encoding (not utf8, because in true MySQL form that doesn’t actually support the full range of Unicode).
  6. Have the board emit the following HTTP header: Content-Type: text/html;charset=utf-8
  7. And the following meta tag: <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
  8. Keep a read‐only copy of the old board/database, just in case some posts got truncated.

After that, as long as nobody manually sets their browser otherwise, everything and everyone will being UTF-8 and there will be no more problems.

Originally posted by Joe
To be fair, I turned off Firefox's autodetect to make sure my posts get HTML-escaped when I post Japanese text, so it might happen less often to you than to me.

This helps for the moment but is not perfect—it only converts characters that aren’t representable in your native encoding. Since the board usually shows up for you as CP-1252, characters like × and — (which are valid in CP-1252) don’t get escaped when you post, and are inserted raw in the database.

Originally posted by Joe
Or does PHP detect the meta tag and become even more dumb than usual?

Thankfully not. That would be a nightmare…

____________________

Joe
Common spammer
🍬
Level: 111


Posts: 3148/3392
EXP: 14489233
For next: 379127

Since: 08-02-07

From: Pororoca

Since last post: 3 days
Last activity: 8 hours

Posted on 07-25-14 06:58:12 PM Link | Quote
Originally posted by IIMarckus
Originally posted by Joe
To be fair, I turned off Firefox's autodetect to make sure my posts get HTML-escaped when I post Japanese text, so it might happen less often to you than to me.

This helps for the moment but is not perfect—it only converts characters that aren’t representable in your native encoding. Since the board usually shows up for you as CP-1252, characters like × and — (which are valid in CP-1252) don’t get escaped when you post, and are inserted raw in the database.


Many posts already contain punctuation encoded as Windows-1252, not just mine. I made this thread because I came across a post I couldn't quote.

It would probably be best to assume Windows-1252 when the code page detection is inconclusive.

____________________
ふにゃあ。
IIMarckus
Member
Level: 25


Posts: 103/111
EXP: 82217
For next: 7403

Since: 10-11-08


Since last post: 3.0 years
Last activity: 1.7 years

Posted on 07-25-14 07:43:50 PM Link | Quote
Originally posted by Joe
Originally posted by IIMarckus
Originally posted by Joe
To be fair, I turned off Firefox's autodetect to make sure my posts get HTML-escaped when I post Japanese text, so it might happen less often to you than to me.

This helps for the moment but is not perfect—it only converts characters that aren’t representable in your native encoding. Since the board usually shows up for you as CP-1252, characters like × and — (which are valid in CP-1252) don’t get escaped when you post, and are inserted raw in the database.


Many posts already contain punctuation encoded as Windows-1252, not just mine. I made this thread because I came across a post I couldn't quote.

Sure, I wasn’t trying to imply otherwise.

Originally posted by Joe
It would probably be best to assume Windows-1252 when the code page detection is inconclusive.

uchardet seems to be pretty good at detecting that things are 1252. But I haven’t tried it on anything as large as this database, just a few individual pages saved from the board.

____________________

usr_share
70
Level: 21


Posts: 77/79
EXP: 42681
For next: 7262

Since: 03-12-12


Since last post: 7.0 years
Last activity: 1.4 years

Posted on 07-26-14 08:12:49 AM Link | Quote
usr_share:
I thought a good idea would be to impose a charset only on new threads (with a larger ID or created after a certain date), so that older threads aren't broken, and newer ones work better.

____________________
Lyskar
12210
-The Chaos within trumps the Chaos without-
Level: 192


Posts: 12161/12211
EXP: 99239885
For next: 633686

Since: 07-03-07

From: 52-2-88-7

Since last post: 7.4 years
Last activity: 7.3 years

Posted on 07-27-14 04:23:37 AM Link | Quote
Stats
Posts
12161
Days Here
2580
Level
173
Post Data
Eh. The better answer is to know that the codebase is hopelessly ancient and unlikely to really be updated unless it's a spot fix.

This isn't a spot fix.

It could be fixed 'some day' but this sort of issue's been known for a good while... and well, surprise, nothing can be done about it when everyone has jobs and is busy.

____________________
Time is always slipping away...
Xkeeper

Level: 263


Posts: 22216/25343
EXP: 296722349
For next: 2238104

Since: 07-03-07

Pronouns: they/them/????????

Since last post: 9 days
Last activity: 3 days

Posted on 07-19-17 04:31:21 AM Link | Quote
Originally posted by Joe
You can't quote this post.

—×

If you include one of those characters in your post and click on preview, the textarea will be empty.


So not only is this fixed, but all of the tables are internally utf8mb4 now (a post about this in a certain other thread is coming soon)

I see I probably fixed it before, but I'm still fixing some issues.

Originally posted by Lyskar
Eh. The better answer is to know that the codebase is hopelessly ancient and unlikely to really be updated unless it's a spot fix.

This isn't a spot fix.

It could be fixed 'some day' but this sort of issue's been known for a good while... and well, surprise, nothing can be done about it when everyone has jobs and is busy.

Quoting this just for posterity.

It's not wrong... yet.

____________________
(Lv 235 with 200569585 EXP)
Next newer thread | Next older thread
Jul - Meta - Quoting and previewing are broken (sometimes) New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

30 database queries, 5 query cache hits.
Query execution time:  0.081180 seconds
Script execution time:  0.031003 seconds
Total render time:  0.112183 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 2 column 298 - Warning: unescaped & or unknown entity "&page"
line 119 column 11 - Warning: <form> isn't allowed in <table> elements
line 118 column 10 - Info: <table> previously mentioned
line 120 column 11 - Warning: missing <tr>
line 120 column 119 - Warning: missing </font> before </td>
line 124 column 16 - Warning: plain text isn't allowed in <tr> elements
line 120 column 11 - Info: <tr> previously mentioned
line 125 column 68 - Warning: missing </nobr> before </td>
line 141 column 68 - Warning: missing </nobr> before <tr>
line 147 column 35 - Warning: missing <tr>
line 147 column 50 - Warning: missing </font> before </td>
line 148 column 37 - Warning: unescaped & or unknown entity "&id"
line 147 column 198 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 91 - Warning: missing </font> before </table>
line 156 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 158 column 9 - Warning: missing <tr>
line 176 column 13 - Warning: missing <tr>
line 177 column 102 - Warning: unescaped & or unknown entity "&postid"
line 179 column 74 - Warning: <style> isn't allowed in <td> elements
line 179 column 9 - Info: <td> previously mentioned
line 186 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 188 column 9 - Warning: missing <tr>
line 206 column 13 - Warning: missing <tr>
line 207 column 102 - Warning: unescaped & or unknown entity "&postid"
line 209 column 74 - Warning: <style> isn't allowed in <td> elements
line 209 column 9 - Info: <td> previously mentioned
line 212 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 214 column 9 - Warning: missing <tr>
line 232 column 13 - Warning: missing <tr>
line 233 column 102 - Warning: unescaped & or unknown entity "&postid"
line 235 column 74 - Warning: <style> isn't allowed in <td> elements
line 235 column 9 - Info: <td> previously mentioned
line 246 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 248 column 9 - Warning: missing <tr>
line 266 column 13 - Warning: missing <tr>
line 267 column 102 - Warning: unescaped & or unknown entity "&postid"
line 269 column 74 - Warning: <style> isn't allowed in <td> elements
line 269 column 9 - Info: <td> previously mentioned
line 274 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 276 column 9 - Warning: missing <tr>
line 294 column 13 - Warning: missing <tr>
line 295 column 102 - Warning: unescaped & or unknown entity "&postid"
line 297 column 74 - Warning: <style> isn't allowed in <td> elements
line 297 column 9 - Info: <td> previously mentioned
line 302 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 304 column 9 - Warning: missing <tr>
line 322 column 13 - Warning: missing <tr>
line 323 column 102 - Warning: unescaped & or unknown entity "&postid"
line 325 column 74 - Warning: <style> isn't allowed in <td> elements
line 325 column 9 - Info: <td> previously mentioned
line 330 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 332 column 9 - Warning: missing <tr>
line 350 column 13 - Warning: missing <tr>
line 351 column 102 - Warning: unescaped & or unknown entity "&postid"
line 353 column 74 - Warning: <style> isn't allowed in <td> elements
line 353 column 9 - Info: <td> previously mentioned
line 356 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 358 column 9 - Warning: missing <tr>
line 376 column 13 - Warning: missing <tr>
line 377 column 102 - Warning: unescaped & or unknown entity "&postid"
line 379 column 74 - Warning: <style> isn't allowed in <td> elements
line 379 column 9 - Info: <td> previously mentioned
line 384 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 386 column 9 - Warning: missing <tr>
line 404 column 13 - Warning: missing <tr>
line 405 column 102 - Warning: unescaped & or unknown entity "&postid"
line 407 column 74 - Warning: <style> isn't allowed in <td> elements
line 407 column 9 - Info: <td> previously mentioned
line 410 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 412 column 9 - Warning: missing <tr>
line 430 column 13 - Warning: missing <tr>
line 431 column 102 - Warning: unescaped & or unknown entity "&postid"
line 440 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 442 column 9 - Warning: missing <tr>
line 460 column 13 - Warning: missing <tr>
line 461 column 102 - Warning: unescaped & or unknown entity "&postid"
line 463 column 74 - Warning: <style> isn't allowed in <td> elements
line 463 column 9 - Info: <td> previously mentioned
line 468 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 470 column 9 - Warning: missing <tr>
line 488 column 13 - Warning: missing <tr>
line 489 column 102 - Warning: unescaped & or unknown entity "&postid"
line 495 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 497 column 9 - Warning: missing <tr>
line 515 column 13 - Warning: missing <tr>
line 516 column 102 - Warning: unescaped & or unknown entity "&postid"
line 518 column 74 - Warning: <style> isn't allowed in <td> elements
line 518 column 9 - Info: <td> previously mentioned
line 521 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 523 column 9 - Warning: missing <tr>
line 541 column 13 - Warning: missing <tr>
line 542 column 102 - Warning: unescaped & or unknown entity "&postid"
line 544 column 74 - Warning: <style> isn't allowed in <td> elements
line 544 column 9 - Info: <td> previously mentioned
line 544 column 1355 - Error: <z> is not recognized!
line 544 column 1355 - Warning: discarding unexpected <z>
line 544 column 1363 - Warning: discarding unexpected </z>
line 546 column 1380 - Error: <z> is not recognized!
line 546 column 1380 - Warning: discarding unexpected <z>
line 546 column 1392 - Warning: discarding unexpected </z>
line 548 column 1408 - Error: <z> is not recognized!
line 548 column 1408 - Warning: discarding unexpected <z>
line 548 column 1416 - Warning: discarding unexpected </z>
line 554 column 2189 - Warning: discarding unexpected </td>
line 557 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 559 column 9 - Warning: missing <tr>
line 577 column 13 - Warning: missing <tr>
line 578 column 102 - Warning: unescaped & or unknown entity "&postid"
line 580 column 74 - Warning: <style> isn't allowed in <td> elements
line 580 column 9 - Info: <td> previously mentioned
line 600 column 17 - Warning: missing <tr>
line 600 column 17 - Warning: discarding unexpected <table>
line 603 column 35 - Warning: missing <tr>
line 603 column 50 - Warning: missing </font> before </td>
line 603 column 91 - Warning: missing </font> before </table>
line 605 column 35 - Warning: missing <tr>
line 605 column 50 - Warning: missing </font> before </td>
line 606 column 37 - Warning: unescaped & or unknown entity "&id"
line 605 column 198 - Warning: missing </font> before </table>
line 607 column 17 - Warning: discarding unexpected </textarea>
line 607 column 28 - Warning: discarding unexpected </form>
line 607 column 35 - Warning: discarding unexpected </embed>
line 607 column 43 - Warning: discarding unexpected </noembed>
line 607 column 53 - Warning: discarding unexpected </noscript>
line 607 column 64 - Warning: discarding unexpected </noembed>
line 607 column 74 - Warning: discarding unexpected </embed>
line 607 column 82 - Warning: discarding unexpected </table>
line 607 column 90 - Warning: discarding unexpected </table>
line 609 column 9 - Warning: missing </font> before <table>
line 621 column 25 - Warning: discarding unexpected </font>
line 630 column 57 - Warning: discarding unexpected </font>
line 608 column 1 - Warning: missing </center>
line 120 column 63 - Warning: <img> lacks "alt" attribute
line 125 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 125 column 93 - Warning: <img> lacks "alt" attribute
line 141 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 141 column 98 - Warning: <img> lacks "alt" attribute
line 148 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 161 column 23 - Warning: <img> lacks "alt" attribute
line 161 column 64 - Warning: <img> lacks "alt" attribute
line 161 column 113 - Warning: <img> lacks "alt" attribute
line 161 column 163 - Warning: <img> lacks "alt" attribute
line 162 column 11 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 191 column 23 - Warning: <img> lacks "alt" attribute
line 191 column 64 - Warning: <img> lacks "alt" attribute
line 191 column 113 - Warning: <img> lacks "alt" attribute
line 191 column 163 - Warning: <img> lacks "alt" attribute
line 192 column 11 - Warning: <img> lacks "alt" attribute
line 202 column 15 - Warning: <img> lacks "alt" attribute
line 217 column 23 - Warning: <img> lacks "alt" attribute
line 217 column 64 - Warning: <img> lacks "alt" attribute
line 217 column 113 - Warning: <img> lacks "alt" attribute
line 217 column 163 - Warning: <img> lacks "alt" attribute
line 218 column 11 - Warning: <img> lacks "alt" attribute
line 228 column 15 - Warning: <img> lacks "alt" attribute
line 235 column 901 - Warning: <div> anchor "xklayout" already defined
line 251 column 22 - Warning: <img> lacks "alt" attribute
line 251 column 63 - Warning: <img> lacks "alt" attribute
line 251 column 112 - Warning: <img> lacks "alt" attribute
line 251 column 161 - Warning: <img> lacks "alt" attribute
line 252 column 11 - Warning: <img> lacks "alt" attribute
line 262 column 15 - Warning: <img> lacks "alt" attribute
line 279 column 23 - Warning: <img> lacks "alt" attribute
line 279 column 64 - Warning: <img> lacks "alt" attribute
line 279 column 113 - Warning: <img> lacks "alt" attribute
line 279 column 163 - Warning: <img> lacks "alt" attribute
line 280 column 11 - Warning: <img> lacks "alt" attribute
line 290 column 15 - Warning: <img> lacks "alt" attribute
line 297 column 988 - Warning: <img> proprietary attribute value "absmiddle"
line 297 column 988 - Warning: <img> lacks "alt" attribute
line 307 column 22 - Warning: <img> lacks "alt" attribute
line 307 column 63 - Warning: <img> lacks "alt" attribute
line 307 column 112 - Warning: <img> lacks "alt" attribute
line 307 column 161 - Warning: <img> lacks "alt" attribute
line 308 column 11 - Warning: <img> lacks "alt" attribute
line 318 column 15 - Warning: <img> lacks "alt" attribute
line 335 column 23 - Warning: <img> lacks "alt" attribute
line 335 column 64 - Warning: <img> lacks "alt" attribute
line 335 column 113 - Warning: <img> lacks "alt" attribute
line 335 column 163 - Warning: <img> lacks "alt" attribute
line 336 column 11 - Warning: <img> lacks "alt" attribute
line 346 column 15 - Warning: <img> lacks "alt" attribute
line 353 column 901 - Warning: <div> anchor "xklayout" already defined
line 361 column 23 - Warning: <img> lacks "alt" attribute
line 361 column 64 - Warning: <img> lacks "alt" attribute
line 361 column 113 - Warning: <img> lacks "alt" attribute
line 361 column 163 - Warning: <img> lacks "alt" attribute
line 362 column 11 - Warning: <img> lacks "alt" attribute
line 372 column 15 - Warning: <img> lacks "alt" attribute
line 381 column 1119 - Warning: <img> proprietary attribute value "absmiddle"
line 381 column 1119 - Warning: <img> lacks "alt" attribute
line 389 column 23 - Warning: <img> lacks "alt" attribute
line 389 column 64 - Warning: <img> lacks "alt" attribute
line 389 column 113 - Warning: <img> lacks "alt" attribute
line 389 column 163 - Warning: <img> lacks "alt" attribute
line 390 column 11 - Warning: <img> lacks "alt" attribute
line 400 column 15 - Warning: <img> lacks "alt" attribute
line 407 column 901 - Warning: <div> anchor "xklayout" already defined
line 415 column 22 - Warning: <img> lacks "alt" attribute
line 415 column 63 - Warning: <img> lacks "alt" attribute
line 415 column 112 - Warning: <img> lacks "alt" attribute
line 415 column 162 - Warning: <img> lacks "alt" attribute
line 426 column 15 - Warning: <img> lacks "alt" attribute
line 445 column 23 - Warning: <img> lacks "alt" attribute
line 445 column 64 - Warning: <img> lacks "alt" attribute
line 445 column 113 - Warning: <img> lacks "alt" attribute
line 445 column 163 - Warning: <img> lacks "alt" attribute
line 446 column 11 - Warning: <img> lacks "alt" attribute
line 456 column 15 - Warning: <img> lacks "alt" attribute
line 463 column 1702 - Warning: <img> proprietary attribute value "absmiddle"
line 463 column 1702 - Warning: <img> lacks "alt" attribute
line 473 column 22 - Warning: <img> lacks "alt" attribute
line 473 column 63 - Warning: <img> lacks "alt" attribute
line 473 column 112 - Warning: <img> lacks "alt" attribute
line 473 column 162 - Warning: <img> lacks "alt" attribute
line 484 column 15 - Warning: <img> lacks "alt" attribute
line 491 column 1020 - Warning: <img> proprietary attribute value "absmiddle"
line 491 column 1020 - Warning: <img> lacks "alt" attribute
line 499 column 14 - Warning: <img> proprietary attribute value "absmiddle"
line 499 column 14 - Warning: <img> lacks "alt" attribute
line 499 column 57 - Warning: <img> proprietary attribute value "absmiddle"
line 499 column 57 - Warning: <img> lacks "alt" attribute
line 499 column 100 - Warning: <img> proprietary attribute value "absmiddle"
line 499 column 100 - Warning: <img> lacks "alt" attribute
line 500 column 22 - Warning: <img> lacks "alt" attribute
line 500 column 63 - Warning: <img> lacks "alt" attribute
line 500 column 111 - Warning: <img> lacks "alt" attribute
line 500 column 161 - Warning: <img> lacks "alt" attribute
line 501 column 11 - Warning: <img> lacks "alt" attribute
line 511 column 15 - Warning: <img> lacks "alt" attribute
line 525 column 17 - Warning: <img> proprietary attribute value "absmiddle"
line 525 column 17 - Warning: <img> lacks "alt" attribute
line 525 column 60 - Warning: <img> proprietary attribute value "absmiddle"
line 525 column 60 - Warning: <img> lacks "alt" attribute
line 525 column 103 - Warning: <img> proprietary attribute value "absmiddle"
line 525 column 103 - Warning: <img> lacks "alt" attribute
line 525 column 146 - Warning: <img> proprietary attribute value "absmiddle"
line 525 column 146 - Warning: <img> lacks "alt" attribute
line 525 column 189 - Warning: <img> proprietary attribute value "absmiddle"
line 525 column 189 - Warning: <img> lacks "alt" attribute
line 525 column 232 - Warning: <img> proprietary attribute value "absmiddle"
line 525 column 232 - Warning: <img> lacks "alt" attribute
line 525 column 275 - Warning: <img> proprietary attribute value "absmiddle"
line 525 column 275 - Warning: <img> lacks "alt" attribute
line 525 column 318 - Warning: <img> proprietary attribute value "absmiddle"
line 525 column 318 - Warning: <img> lacks "alt" attribute
line 525 column 361 - Warning: <img> proprietary attribute value "absmiddle"
line 525 column 361 - Warning: <img> lacks "alt" attribute
line 526 column 23 - Warning: <img> lacks "alt" attribute
line 526 column 64 - Warning: <img> lacks "alt" attribute
line 526 column 113 - Warning: <img> lacks "alt" attribute
line 526 column 163 - Warning: <img> lacks "alt" attribute
line 527 column 11 - Warning: <img> lacks "alt" attribute
line 537 column 15 - Warning: <img> lacks "alt" attribute
line 544 column 1200 - Warning: <tr> attribute "valign" has invalid value "center"
line 562 column 23 - Warning: <img> lacks "alt" attribute
line 562 column 64 - Warning: <img> lacks "alt" attribute
line 562 column 113 - Warning: <img> lacks "alt" attribute
line 562 column 163 - Warning: <img> lacks "alt" attribute
line 563 column 11 - Warning: <img> lacks "alt" attribute
line 573 column 15 - Warning: <img> lacks "alt" attribute
line 580 column 901 - Warning: <div> anchor "xklayout" already defined
line 606 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 606 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 606 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 615 column 25 - Warning: <img> lacks "alt" attribute
line 620 column 267 - Warning: <img> lacks "alt" attribute
line 149 column 50 - Warning: trimming empty <font>
line 600 column 17 - Warning: trimming empty <tr>
line 603 column 50 - Warning: trimming empty <font>
line 125 column 68 - Warning: <nobr> is not approved by W3C
line 141 column 68 - Warning: <nobr> is not approved by W3C
line 177 column 27 - Warning: <nobr> is not approved by W3C
line 207 column 27 - Warning: <nobr> is not approved by W3C
line 233 column 27 - Warning: <nobr> is not approved by W3C
line 267 column 27 - Warning: <nobr> is not approved by W3C
line 295 column 27 - Warning: <nobr> is not approved by W3C
line 323 column 27 - Warning: <nobr> is not approved by W3C
line 351 column 27 - Warning: <nobr> is not approved by W3C
line 377 column 27 - Warning: <nobr> is not approved by W3C
line 405 column 27 - Warning: <nobr> is not approved by W3C
line 431 column 27 - Warning: <nobr> is not approved by W3C
line 461 column 27 - Warning: <nobr> is not approved by W3C
line 489 column 27 - Warning: <nobr> is not approved by W3C
line 516 column 27 - Warning: <nobr> is not approved by W3C
line 542 column 27 - Warning: <nobr> is not approved by W3C
line 544 column 1126 - Warning: <table> proprietary attribute "height"
line 578 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 276 warnings and 3 errors!

The alt attribute should be used to give a short description
of an image; longer descriptions should be given with the
longdesc attribute which takes a URL linked to the description.
These measures are needed for people using non-graphical browsers.

For further advice on how to make your pages accessible
see http://www.w3.org/WAI/GL.
You are recommended to use CSS to specify the font and
properties such as its size and color. This will reduce
the size of HTML files and make them easier to maintain
compared with using <FONT> elements.

You are recommended to use CSS to control line wrapping.
Use "white-space: nowrap" to inhibit wrapping in place
of inserting <NOBR>...</NOBR> into the markup.

About HTML Tidy: https://github.com/htacg/tidy-html5
Bug reports and comments: https://github.com/htacg/tidy-html5/issues
Official mailing list: https://lists.w3.org/Archives/Public/public-htacg/
Latest HTML specification: http://dev.w3.org/html5/spec-author-view/
Validate your HTML documents: http://validator.w3.org/nu/
Lobby your company to join the W3C: http://www.w3.org/Consortium

Do you speak a language other than English, or a different variant of
English? Consider helping us to localize HTML Tidy. For details please see
https://github.com/htacg/tidy-html5/blob/master/README/LOCALIZE.md