blob: ece334f978dfd7452906e8cc77bd534a0d10c0cd (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
--- src/hooks/utf8conv.h Thu Jan 1 08:00:00 1970
+++ src/hooks/utf8conv.h Tue Nov 19 15:19:44 2002
@@ -0,0 +1,56 @@
+/*-------------------------------------------------------*/
+/* utf8conv.h ( Utf8 Converter ) */
+/*-------------------------------------------------------*/
+/* target : Converting Utf8 from/to string/char */
+/* modifier : clsung@dragon2.net */
+/* create : unknown */
+/* update : 02/11/19 */
+/*-------------------------------------------------------*/
+#ifndef _UTF8CONV_
+#define _UTF8CONV_
+
+#ifndef HAVE_ICONV_H
+#define HAVE_ICONV_H
+#endif
+
+#ifdef HAVE_ICONV_H
+#include <iconv.h>
+#endif
+#include <string>
+#define DEFAULT_CHARSET "ISO-8859-1"
+/* charset name cache buffer */
+static char loc_charset[32];
+/*
+** Name: safe_iconv
+** Purpose: 'Fault-tolerant' version if iconv. Replaces invalid seq with '?'
+** Input: see iconv manpage
+*/
+int safe_iconv( iconv_t handle, const char **inbuf, size_t *inbytesleft,
+ char **outbuf, size_t *outbytesleft);
+
+/*
+** Name: guess_current_locale_charset
+** Purpose: Try to guess default charset for the current locale
+** Output: charset name
+** FIXME: is there more right method for guessing charset
+ than scanning $LANG ?
+*/
+const char* guess_current_locale_charset();
+
+/*
+** Name: Str2Utf8
+** Purpose: convert a string in UTF-8 format
+** Input: inbuf - the string to convert
+** Output: a new string in UTF-8 format
+*/
+char *StrToUtf8( const char *inbuf );
+std::string StrToUtf8( const std::string &instr );
+/*
+** Name: Utf8ToStr
+** Purpose: revert UTF-8 string conversion
+** Input: inbuf - the string to decode
+** Output: a new decoded string
+*/
+char *Utf8ToStr( const char *inbuf );
+std::string Utf8ToStr( const std::string &instr );
+#endif
|