函数

GLibget_filename_charsets

自:2.6

声明 [src]

gboolean
g_get_filename_charsets (
  const gchar*** filename_charsets
)

说明 [src]

确定用于文件名的首选字符集。charsets 中的第一个字符集是文件名编码,后续字符集在尝试生成可显示的文件名表示形式时使用,请参阅 g_filename_display_name()。

在 Unix 上,这些字符集是通过查阅环境变量 G_FILENAME_ENCODINGG_BROKEN_FILENAMES 确定的。在 Windows 上,GLib API 中使用的字符集始终为 UTF-8,并且上述环境变量没有任何影响。

G_FILENAME_ENCODING 可以设置为字符集名称的逗号分隔列表。特殊标记“`locale" 的含义是 [当前区域设置][setlocale] 的字符集。如果G_FILENAME_ENCODING未设置,但G_BROKEN_FILENAMES` 已设置,则将当前区域设置的字符集作为文件名编码。如果没有设置任何环境变量,则 UTF-8 将作为文件名编码,但当前区域设置的字符集也将放在编码列表中。

返回的 charsets 属于 GLib,且不能释放。

请注意,在 Unix 上,无论区域设置字符集或 G_FILENAME_ENCODING 值如何,系统上存在的文件名可能采用任何随机编码或只是乱码。

自 2.6 开始提供

参数

filename_charsets

类型: gchar** 数组

编码名称的 NULL 终止列表的返回位置。

该参数将由函数设置。
该数组必须是 NULL 终止的。
返回的数据由函数所有。
每个元素都是一个以 NUL 终止的 UTF-8 字符串。

返回值

类型: gboolean

如果文件名编码为 UTF-8,则为 TRUE