another option is an ltm policy. I'm guessing here on how you determine (going with the Accept-Charset header, but you could also match on other headers on request or response):
ltm policy cpm.charsets {
controls { asm }
requires { http }
rules {
default {
actions {
0 {
asm
enable
policy /Common/asm_default_policy
}
}
ordinal 3
}
win1252 {
actions {
0 {
asm
enable
policy /Common/asm_win1252_policy
}
}
conditions {
0 {
http-header
name Accept-Charset
values { Windows-1252 }
}
}
ordinal 1
}
win1256 {
actions {
0 {
asm
enable
policy /Common/asm_win1256_policy
}
}
conditions {
0 {
http-header
name Accept-Charset
values { Windows-1256 }
}
}
ordinal 2
}
}
strategy first-match
}