Lowercase c with cedillaGreek small tau
ASCII 231 is ç on Windows and τ in old DOS.
ç (Small C with Cedilla) is byte 231 in Windows-1252, Unicode U+00E7. French, Portuguese, Catalan, Turkish and Albanian all use it. File downloads are a good place to lose it. HTTP header values are safest as ASCII, so a server that puts français.pdf straight into Content-Disposition can hand the browser raw UTF-8 bytes, and the file saves as français.pdf or with the letter dropped. Send the name the standard way instead, filename*=UTF-8''fran%C3%A7ais.pdf, with a plain ASCII filename= next to it as a fallback. Old DOS had ç at 135. The UTF-8 bytes C3 A7 misread as ç. The HTML entity is ç.
τ (Tau) is byte 231 in code page 437, the original IBM PC character set, and maps to Unicode U+03C4. Physics uses it for torque and for the time constant of an RC circuit, and some mathematicians use it for 2π, one full turn. Python adopted that last meaning: math.tau is 6.283185307179586. JavaScript has no Math.TAU, so code ported from Python needs 2 * Math.PI there. Code page 850 put the Icelandic þ on this byte. In UTF-8, τ is CF 84, and the HTML entity is τ.
#include <stdio.h>int main(void) {/* On Windows (code page 1252) byte 231 is ç.Modern terminals expect UTF-8, so print the code point, not the byte. */printf("\u00E7\n"); /* UTF-8: C3 A7 */unsigned char b = 231; /* the raw Windows-1252 byte */printf("%d 0x%02X\n", b, b); /* 231 0xE7 */return 0;}
#include <stdio.h>int main(void) {/* Byte 231 is τ only on a console using code page 437(chcp 437 on Windows, or DOSBox). On a UTF-8 terminal thelone byte 0xE7 is invalid and prints as garbage, often �. */putchar(231);/* char is signed on x86, so a plain char holding 0xE7 is -25.Use unsigned char when you compare or index by byte value. */char c = (char)231;unsigned char u = 231;printf("\n%d %d\n", c, u); /* -25 231 *//* Portable: print the Unicode character as UTF-8 instead. */printf("\u03C4\n"); /* CF 84 */return 0;}
Only before a, o or u, where a plain c would sound like k: ça, garçon, reçu. Before e and i the c is already soft, so ç never appears there, which is why commencer gains one in nous commençons but not in vous commencez. Portuguese follows the same rule, as in açúcar.
In French and Portuguese, c is the accepted fallback where only ASCII fits, like URLs and email addresses, even though francais then reads with a k sound. In Turkish it changes the word: ç is a separate letter pronounced like ch, so çam means pine and cam means glass. There, keep the letter wherever the system allows it.
psql decodes your script with its client encoding, which on Windows usually isn't UTF-8, so ç's two bytes are taken as two separate characters and saved that way. Put `SET client_encoding TO 'UTF8';` at the top of the script, or set PGCLIENTENCODING=UTF8 before running psql -f. Rows inserted before the fix stay double-encoded and need repairing separately.
Barça is the Catalan spelling of the nickname, and without the cedilla it would be read as Bar-ka. The club's own branding and the Catalan press write it with ç, so a search or hashtag using Barca misses part of what's out there. Unlike French, Catalan also puts ç at the end of words, as in feliç.