Pilcrow (paragraph sign)Box T-junction pointing left, double vertical
ASCII 182 is ¶ on Windows and ╢ in old DOS.
¶ (Pilcrow) is byte 182 in Windows-1252, Unicode U+00B6. It marks a paragraph. If Word is showing one at the end of every paragraph, formatting marks are switched on: those pilcrows are a display aid, not text, and they neither print nor copy. In documentation it's the small link next to a heading. Sphinx, which builds the Python docs, adds ¶ as a permalink to each section, so clicking it gives you a URL that jumps straight there. US legal writing cites paragraphs with it, as in ¶ 12. In UTF-8 it's C2 B6, which misreads as ¶. The HTML entity is ¶.
╢ (Double Vertical, Single Left) is byte 182 in code page 437, the original IBM PC character set, and maps to Unicode U+2562. It sits on the right edge of a double-line box, where a single-line divider ─ (196) runs in from the left and meets the double side ║ (186). It's the reverse mix of ╡ at 181, which is why its entity ╢ flips the case. Code page 850 put  on this byte, so a frame drawn for 437 and viewed in 850 shows  along its right edge, a  that has nothing to do with the stray  of broken UTF-8. In UTF-8 it's E2 95 A2.
#include <stdio.h>int main(void) {/* On Windows (code page 1252) byte 182 is ¶.Modern terminals expect UTF-8, so print the code point, not the byte. */printf("\u00B6\n"); /* UTF-8: C2 B6 */unsigned char b = 182; /* the raw Windows-1252 byte */printf("%d 0x%02X\n", b, b); /* 182 0xB6 */return 0;}
#include <stdio.h>int main(void) {/* Byte 182 is ╢ only on a console using code page 437(chcp 437 on Windows, or DOSBox). On a UTF-8 terminal thelone byte 0xB6 is invalid and prints as garbage, often �. */putchar(182);/* char is signed on x86, so a plain char holding 0xB6 is -74.Use unsigned char when you compare or index by byte value. */char c = (char)182;unsigned char u = 182;printf("\n%d %d\n", c, u); /* -74 182 *//* Portable: print the Unicode character as UTF-8 instead. */printf("\u2562\n"); /* E2 95 A2 */return 0;}
Use § for a numbered section of a statute or code, as in 17 U.S.C. § 107, and ¶ for a numbered paragraph, as in a complaint or a contract. Both take a space before the number, and both double for plurals: §§ for several sections, ¶¶ for several paragraphs. In Windows-1252, § is byte 167.
Type ^p in the Find box, not the ¶ itself, which only matches a literal pilcrow typed into the text. ^p^p finds empty paragraphs, and replacing it with ^p collapses double breaks into single ones. With Use wildcards switched on, ^p stops working and you need ^13 instead.
The page prints the URL as HTML without escaping the &. ¶ is one of the old entity names browsers still accept without a semicolon, so ¶m reads as ¶ followed by m. Inside an href the browser leaves it alone, which is why the link works while the visible text is wrong. Escape on output, with htmlspecialchars in PHP or by setting textContent in JavaScript.
Set it in conf.py. `html_permalinks = False` removes the links entirely, and `html_permalinks_icon = '#'` keeps them but swaps the ¶ for another symbol or a small SVG. Both options arrived in Sphinx 3.5, so older projects used html_add_permalinks instead.