I have a page that supports multiple languages (the user can change the language at any time).
I update the thread's culture based on the user selection in the Initialize Culture method.
I also update the response object based on the code page for the selected country and set its charset to the WebName of the encoding used (if i don't update the response object based on the code page, then the data bound to controls gets garbled). the resource files are also localized based on the code page.
After doing the above changes, the page is getting displayed correctly in the browser.
However, when the user enters data in one of the Asian languages, the text gets all messed up. The drop down list actually throws the invalid callback or postback argument exception.
On checking the request.contentEncoding i found that it was still UTF-8 (set in web.config).
If I change the request.ContentEncoding during BeginRequest event, the input comes in correctly. But I am not sure of the user selected language this early in the page cycle.
Is the above approach the correct way to go about it? How can i dynamically set the encoding for the incoming request?