Using Text Data
There is currently an ASE limitation such that it cannot handle text data which changes in length due to character set conversion. If, in the process of retrieving text data from the server, the size of the data changes, you will not be able to retrieve the data.This error occurs if all of the following are true:
- The character set of the client and the server are different.
- In converting from the server to the client character set, the data size changes.
- A SELECT is done on a text field in the server.
is an example of the error message that appears:
TEXT data not supported when data size is changing between the ?utf8?and ?sjis? character sets due to character set conversion. The conversion ratio is 2:1. Please connect again with conversions off, or use client-side conversions.
For Unicode-enabled servers, this problem will definitely appear with the following languages or scripts: Arabic, Cyrillic, Japanese, Chinese, Greek, Hebrew, Korean, and Thai. It will also appear with Western European languages if the data contains accented Latin characters.
Note: This problem is not specific to Unicode. The same problem will show up if the client and the server are configured to use different character sets; and they are using a combination of Shift-JIS and EUC-JIS.
All versions of ASE
- Turn off character set conversion, and perform the conversion of the text data on the client side. You can either turn character set conversion off completely or only for SELECTs on text fields.
- Use a client with the same character set as the server to access the data. With a Unicode-enabled server, that means using a client that is using Unicode as its character set.
Support for conversion of text data is planned for a future release of ASE.