Skip to Content
author's profile photo Former Member
Former Member

自訂元件回傳中文問題

各位好:

我的開發環境是:中文Windows2000專業版,Visual Foxpro 9.0中文版,水晶報表XI。

我用VFP9寫了一個自訂元件,我可以在水晶報表內呼叫元件內的自訂函數,那函數回傳一個字串。問題是函數可以回傳英文,但若回傳中文,便會出現?????(問號)。有那位大大可以救救我。

我發現如果地區選項(控制台 地區選項 你的地區設定(位置))是中文(台灣)函數傳回的中文字串便是中文字,如果不是中文(如英文(美國))便出現問號。但文字物件(Text Object)就不受地區選項所影響。我希望我的自訂元件也不受影響。請幫幫我!

先謝謝了!

Antony

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

1 Answer

  • Posted on Dec 19, 2008 at 07:15 AM

    文字物件(Text Object)和自訂元件的處理方式應該是不一樣的,所以有你說的現象發生。

    你可以這樣試一下,先在report中insert一個文字物件,然後把自訂元件拖入這個文字物件中,這樣可能就會用文字物件的方式去處理函數的返回值了。

    Add a comment
    10|10000 characters needed characters exceeded

    • 確實是很奇怪的現象哦。

      你在Formulafield里使用URLEncode function看看能不能正確show出中文。

      下邊是URLEncode的discription:

      -


      URLEncode

      Basic 语法和 Crystal 语法。

      重载

      URLEncode (inputString)

      URLEncode (inputString, encodingScheme)

      URLEncode (inputString, encodingScheme, neverEncode)

      URLEncode (inputString, encodingScheme, neverEncode, alwaysEncode)

      URLEncode (inputString, encodingScheme, characterSet)

      URLEncode (inputString, encodingScheme, characterSet, neverEncode)

      URLEncode (inputString, encodingScheme, characterSet, neverEncode, alwaysEncode)

      参数

      inputString 是包含要编码的 URL 的字符串。

      encodingScheme 是一个整数,指定要用于对字符串进行编码的方案:

      0 指定 URL 编码 -- 采用 RFC 1738

      1 指定 HTML 格式编码 -- 采用 application/x-www-form-urlencoded

      2 指定用户定义编码 -- 默认情况下,只有字母数字字符不会被编码。

      如果未指定 encodingScheme,则默认值为 0(URL 编码)。

      neverEncode 是您想要保留不被编码过程处理的字符串。此参数默认为空字符串。

      注意: 只有 ASCII 值介于 0 和 127 之间(包括 0 和 127)的字符才允许出现在组成此参数的字符串中。

      alwaysEncode 是您始终希望编码过程进行编码的字符串。此参数默认为空字符串。

      注意:

      只有 ASCII 值介于 0 和 127 之间(包括 0 和 127)的字符才允许出现在组成此参数的字符串中。

      如果在这两个参数中同时出现相同的字符,alwaysEncode 优先于 neverEncode。

      charcaterSet 是一个整数,指定您想要使用的字符编码(代码页):

      0 指定 UTF-8

      1 指定 ISO-8859

      2 指定 Shift-JIS

      如果未指定 characterSet,则默认值为 0(UTF-8 编码)。

      返回

      包含输入字符串的 URL 编码版本的字符串。

      操作

      URLEncode 接受包含空格和特殊字符的字符串并返回该字符串经过编码之后的版本,该版本可用作进行跨平台报告的 URL。

      示例

      下列示例适用于 Basic 语法和 Crystal 语法:

      URLEncode ("http://your site.com", 0)

      返回 http://your%20site.com

      URLEncode ("http://your site.com", 0, " ")

      返回 http://your site.com

      URLEncode ("http://your site.com", 0, " ", ":.")

      返回 http%3A//your site%2Ecom

      注释

      对于 URL 编码,以下规则适用:

      默认情况下以下字符不被编码:A...Z a...z 0...9 $ - _ . + ! * ' ( ) , ; / ? : @ & = #

      默认情况下以下字符会被编码:其他所有字符。

      对于 HTML 格式编码,以下规则适用:

      默认情况下以下字符不被编码:A...Z a...z 0...9 . - * _

      特殊字符 " " 会被编码为 +

      默认情况下以下字符会被编码:其他所有字符。

      对于用户定义编码,以下规则适用:

      默认情况下以下字符不被编码:A...Z a...z 0...9

      默认情况下以下字符会被编码:其他所有字符。

      不支持多字符替换(例如,u201C<u201D替换为u201C&lt;u201D)。

      另请参见

      URLDecode

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.