Page tree
Skip to end of metadata
Go to start of metadata

Purpose

The purpose of this page is to describe how to get characters that are appearing as boxes or symbols in Sybase Central or Interactive SQL to appear correctly.

Symptoms

When viewing SQL Anywhere database data in Sybase Central and Interactive SQL, sometimes characters can appear as boxes, question marks, or other unexpected symbols. In most cases, this issue is the result of an easy to fix font issue. In rare cases, the symbols might also indicate that the data is corrupt.

Here is a screenshot showing the boxes:

And here is what it is supposed to look like:

The Common Problem

If the problem is merely a font issue (and most times it is), the following procedures describe how you can fix the problem. If you are unsure of what the actual problem is, try these steps - they won’t affect the data in the database, and if the problem has to do with the font, they could save you a lot of time.

Underlying Cause

When you connect to a SQL Anywhere database that contains text with foreign characters (characters that are not part of your operating system’s default font), the characters appear as boxes, question marks, or some other unexpected symbol. For example, for an English Microsoft Windows operating system, Japanese characters are foreign; and for a Chinese Windows operating system, Arabic characters are foreign.

When running on Windows, Sybase Central and Interactive SQL use the font used for desktop icons. For example, if you are running on an English copy of Windows, your default desktop icon font is Tahoma. That font does not support the display of far-east languages such as Japanese or Chinese. If you try to display Japanese or Chinese characters with Tahoma in Sybase Central or Interactive SQL, you will get symbols that look like a box instead. This is how Sybase Central and Interactive SQL display characters that do not exist in the selected font. If you need to display foreign characters throughout Sybase Central and Interactive SQL, you must change your desktop icon font to a font that supports those characters.

Treatment for Windows

Changing the font this way changes the font throughout Sybase Central and Interactive SQL.  

  1. Shut down Sybase Central and Interactive SQL.
  2. Right-click the Windows desktop, and choose Properties.
  3. In the Display Properties dialog, click the Appearance tab.
  4. Click the Advanced button.
  5. In the Advanced Appearance dialog, choose Icon from the Item dropdown list. The selected font will be listed in the Font dropdown list. Choose a Unicode font, such as Arial Unicode MS (which comes with Microsoft Office), or, if you know the name of a font that can display the data you want to see, choose it.
  6. Click OK on the Advanced Appearance dialog, and then click OK on the Display Properties dialog.
  7. Start Interactive SQL and Sybase Central and try your query again.

Treatment for Linux

To correct the font problem on Linux, install a TrueType font that contains the characters you want to display. The following procedure explains how to download a Unicode font that supports characters for a variety of languages, and how to install it so that it can be used by Interactive SQL and the other graphical administration tools included with SQL Anywhere.  

  1. Shut down Sybase Central and Interactive SQL.
  2. Copy a Unicode font into the $SQLANY16/jre170/lib/fonts/fallback directory.
    • For example, download a Unicode font, such as Bitstream Cyberbit Unicode.
    • Unzip Cyberbit.ZIP into a temporary directory.
    • Create the directory $SQLANY16/jre170/lib/fonts/fallback.
    • Copy Cyberbit.ttf into the $SQLANY16/jre170/lib/fonts/fallback directory.
  3. Start Interactive SQL and Sybase Central and try your query again.

Special Treatment for SQL Anywhere

You can override the font used to display results in Interactive SQL or Sybase Central itself:

  • In Interactive SQL: Choose Tools > Options and then select Results in the list, select Custom Font on the right pane, and then choose a Unicode font. Note that this will NOT change the font used in the SQL Statements field - it only affects the Results table.

In Sybase Central: Choose Tools > SQL Anywhere 16 > Preferences, and then select the Table Data tab. Select the Custom radio option, and then click Browse to select a Unicode font.

Still Seeing Boxes?

If the problem is with the underlying data itself, then blank boxes are appearing Sybase Central and Interactive SQL because there are incorrect characters in the data. This can occur if you tried to insert characters into a database that did not support those characters and a lossy conversion occurred. For example, someone tried to insert Japanese characters into a database with an English database character set.

If the data in the database contains substitution characters, there is no way to get the original characters back short of creating a new database and loading the data into it. This new database should have a Unicode database character set or the affected columns should be declared as NCHAR.

Related Content

Related Documents

 

Related SAP Notes/KBAs

  • No labels