SG(default_charset) works.
--- /dev/null
+--TEST--
+htmlentities() test 10 (default_charset / cp1252)
+--INI--
+output_handler=
+mbstring.internal_encoding=pass
+default_charset=cp1252
+--SKIPIF--
+--FILE--
+<?php
+ print ini_get('default_charset')."\n";
+ var_dump(htmlentities("\x82\x86\x99\x9f", ENT_QUOTES, ''));
+ var_dump(htmlentities("\x80\xa2\xa3\xa4\xa5", ENT_QUOTES, ''));
+?>
+--EXPECT--
+cp1252
+string(28) "‚†™Ÿ"
+string(32) "€¢£¤¥"
--- /dev/null
+--TEST--
+htmlentities() test 11 (default_charset / ISO-8859-15)
+--INI--
+output_handler=
+mbstring.internal_encoding=pass
+default_charset=ISO-8859-15
+--SKIPIF--
+--FILE--
+<?php
+ print ini_get('default_charset')."\n";
+ var_dump(htmlentities("\xbc\xbd\xbe", ENT_QUOTES, ''));
+?>
+--EXPECT--
+ISO-8859-15
+string(20) "ŒœŸ"
--- /dev/null
+--TEST--
+htmlentities() test 12 (default_charset / ISO-8859-1)
+--INI--
+output_handler=
+mbstring.internal_encoding=pass
+default_charset=ISO-8859-1
+--SKIPIF--
+--FILE--
+<?php
+ print ini_get('default_charset')."\n";
+ var_dump(htmlentities("\xe4\xf6\xfc", ENT_QUOTES, ''));
+?>
+--EXPECT--
+ISO-8859-1
+string(18) "äöü"
--- /dev/null
+--TEST--
+htmlentities() test 13 (default_charset / EUC-JP)
+--INI--
+output_handler=
+mbstring.internal_encoding=pass
+default_charset=EUC-JP
+--SKIPIF--
+--FILE--
+<?php
+ print ini_get('default_charset')."\n";
+ var_dump(htmlentities("\xa1\xa2\xa1\xa3\xa1\xa4", ENT_QUOTES, ''));
+?>
+--EXPECT--
+EUC-JP
+string(6) "¡¢¡£¡¤"
--- /dev/null
+--TEST--
+htmlentities() test 14 (default_charset / Shift_JIS)
+--INI--
+output_handler=
+mbstring.internal_encoding=pass
+default_charset=Shift_JIS
+--SKIPIF--
+--FILE--
+<?php
+ print ini_get('default_charset')."\n";
+ var_dump(htmlentities("\x81\x41\x81\x42\x81\x43", ENT_QUOTES, ''));
+?>
+--EXPECT--
+Shift_JIS
+string(6) "\81A\81B\81C"