Return as UTF8
| 702 | |
| 703 | // Return as UTF8 |
| 704 | string IntlString::toUtf8(jrd_tra* transaction) const |
| 705 | { |
| 706 | CHARSET_ID id = CS_dynamic; |
| 707 | |
| 708 | if (charset.hasData()) |
| 709 | { |
| 710 | const dsql_intlsym* resolved = METD_get_charset(transaction, charset.length(), charset.c_str()); |
| 711 | |
| 712 | if (!resolved) |
| 713 | { |
| 714 | // character set name is not defined |
| 715 | ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-504) << |
| 716 | Arg::Gds(isc_charset_not_found) << charset); |
| 717 | } |
| 718 | |
| 719 | id = resolved->intlsym_charset_id; |
| 720 | } |
| 721 | |
| 722 | string utf; |
| 723 | return DataTypeUtil::convertToUTF8(s, utf, id, ERRD_post) ? utf : s; |
| 724 | } |
| 725 | |
| 726 | |
| 727 | /** |