Megosztás a következőn keresztül:


IDN-támogatás a WinINetben

A Windows Server 2008-tól és a Windows Vista-tól kezdve a Unicode URL-cím gazdagéprésze nemzetközi tartománynévvé (IDN) lesz konvertálva. A Unicode URL-kódolás különálló részei az alkalmazás által beállított konfigurációkkal is módosíthatók. A WinINet API ANSI-verziói továbbra is a vezetéken keresztül küldik el az URL-címet az alkalmazás által megadott módon, de az API WinINet Unicode-verziói most már megfelelnek az URL-kódolások IDN-szabványának (RFC3490).

Alapértelmezés szerint, ha egy URL-címet Unicode-paraméterként ad meg, a gazdagéprész a proxy és a közvetlen kapcsolatok esetében is IDN formátumúvá lesz konvertálva. Az alkalmazás letilthatja az IDN-gazdagép formázását a INTERNET_OPTION_IDN beállítás beállításával. Az IDN-gazdagépek konvertálása csak a közvetlen vagy proxykapcsolatokon engedélyezhető a INTERNET_FLAG_IDN_DIRECT vagy a INTERNET_FLAG_IDN_PROXY jelzők INTERNET_OPTION_IDNhasználatával.

Az alábbi példakód bemutatja, hogyan tilthatja le az IDN-gazdagépek konvertálását mind a proxy, mind a közvetlen kapcsolatok esetében.

DWORD IDN = 0; 
InternetSetOption( hRequest, 
                   INTERNET_OPTION_IDN,
                   &IDN, 
                   sizeof(DWORD) ); 

Ha az IDN-gazdagép formázása le van tiltva, az alkalmazásnak lehetősége van a kívánt kódlap megadására a INTERNET_OPTION_CODEPAGEhasználatával.

Az alábbi példakód bemutatja, hogyan adhatja meg a japán kódlapot.

DWORD CP_SHIFT_JIS = 932;  // ANSI/OEM  Japanese, Shift-JIS
InternetSetOption( hRequest, 
                   INTERNET_OPTION_CODEPAGE,
                   &CP_SHIFT_JIS, 
                   Sizeof(DWORD) ); 

Az URL elérési út része alapértelmezés szerint UTF8 kódolású, és az URL fennmaradó szegmensei, a lekérdezés vagy a töredék az alapértelmezett rendszerkódlapra (CP_ACP) lesznek konvertálva.

Az alábbi példa bemutatja, hogyan adhatja meg az URL elérési út részének koreai nyelvű kódlapját.

DWORD CP_KOREAN = 949;   // ANSI/OEM Korean 
InternetSetOption( hRequest, 
                   INTERNET_OPTION_CODEPAGE_PATH,
                   &CP_KOREAN, 
                   sizeof(DWORD) );

Az alábbi táblázat az IDN-t támogató beállításokat határozza meg. További információ: Option flags topic.

Opció Leírás
INTERNET_OPTION_CODEPAGE Ez a beállítás a kérelemben vagy a kapcsolatkezelőben van beállítva az URL-cím gazdagéprészéhez tartozó kódlapkódolási séma megadásához. Ezt a beállítást a rendszer figyelmen kívül hagyja, ha az IDN engedélyezve van.
INTERNET_OPTION_CODEPAGE_PATH Ez a beállítás a kérelemben van beállítva, vagy a kapcsolatkezelő engedélyezi a megadott kódolási sémát az URL elérési út részének. Alapértelmezés szerint az URL elérési útja UTF8 kódolású.
INTERNET_OPTION_CODEPAGE_EXTRA Ha ezt a beállítást a kérelemre állítja be, vagy a kapcsolatkezelő lehetővé teszi a megadott kódolási sémát az URL-cím további részére. Alapértelmezés szerint az URL-cím további része az alapértelmezett rendszerkódlapon (CP_ACP) van kódolva.
INTERNET_OPTION_IDN Ez a beállítás használható a kérelemben vagy a kapcsolati leíróban az IDN-gazdagépek konvertálásának engedélyezéséhez vagy letiltásához. Ha az IDN le van tiltva, a WinINet az alapértelmezett rendszerkódlap használatával kódolja az URL gazdagépét vagy szolgáltatóját.

 

Jegyzet

A WinINet nem támogatja a kiszolgálói implementációkat. Emellett nem használható szolgáltatásból. Kiszolgálói implementációkhoz vagy szolgáltatásokhoz használja Microsoft Windows HTTP Services (WinHTTP).