I have a problem with IIS7 + RewriteModule + FastCGI environment.
I'm testing this environment to apply url rewriting for my web application like WordPress.
The problem is that all URLs in different encoding (urlencoded or not, CP949 or UTF-8) is samely encoded into CP949 which is not preferable for internationalized applications. (I want UTF-8.) For example, both
/test/%ED%95%9C%EA%B8%80 (urlencoded utf-8 url) and
/test/%C7%D1%B1%DB (urlencoded cp949 url) are evaluated as the same CP949-encoded string
I tried to find any option that affects this behaviour, but only found an option only applied to ASP pages, not PHP.
I've also inspected WordPress source code from the trac, it has some processes for IIS rewrting environment but doesn't have encoding processes. (http://trac.wordpress.org/browser/trunk/wp-settings.php#L58)
Currently I applied a simple workaround here : http://dev.textcube.org/browser/trunk/rewrite.php?rev=6644#L12, but this will not work if somebody uses non-Korean locales for the web server. (We are building Korean, Chinese, Japanese, English versions, so this is important!)
I hope WordPress developer would help to solve this problem. (For the best case, it might be fixed by just chaning one option of IIS, but I'm not sure.)
NOTE: CP949/EUC-KR is the default locale encoding for most Korean operating systems including Microsoft Windows. CP949 and EUC-KR is almost compatible.
- PHP 5.2.6 with FastCgiModule + IIS 7.0 on Windows Vista x64 + MySQL 5.0
- RewriteModule from IIS Team, which is CTP version.
- Default charset encoding of php is set to UTF-8.