ColdFusion、MS Word 文档和希腊字符

2023-12-14

我正在尝试从数据库动态构建 Word 文档(我使用 CFC 进行查询处理)。我的努力是成功的,但我只能复制英语文档。但是,我的应用程序使用希腊语。

当我尝试构建包含希腊字符的文档时,输出如下所示:??????????????????。我尝试了很多事情但没有任何效果。这里奇怪的是,当我使用相同的 CFC 进行 PDF 复制时,希腊字符输出正确。

cfm 文件:

<cfheader name="Content-Disposition" value="inline; filename=Save-Print.doc" charset="utf-8">
<cfcontent type="application/msword">

<html xmlns:o="urn:schemas-microsoft-com:office:office"
      xmlns:w="urn:schemas-microsoft-com:office:word" 
      xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Print</title>
<!--[if gte mso 9]> 
<xml>
<w:WordDocument>
<w:View>Print</w:View>
<w:Compatibility>
<w:UseAsianBreakRules/>
</w:Compatibility>
<w:Zoom>100</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml>
<![endif]-->

<!--[if supportFields]>
<div style="mso-element:header" id="lala">
<p class=MsoHeader><span style="color:red">
<![endif]-->
<style>
<!--
@page Section1
{
size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;
mso-header-margin:.5in;
mso-footer-margin:.5in; 
mso-paper-source:0;
mso-header:url("http://localhost:8500/BookLedger_Final/resources/cfScripts/Header.html") h1;
mso-footer:url("http://localhost:8500/BookLedger_Final/resources/cfScripts/Header.html") f1;
}
div.Section1 {page:Section1;}
p.MsoHeader {
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #333;
}
p.MsoFooter {
}
-->
</style>
</head>

<body>

<cfif not IsDefined("URL.id")>
      <cfelseif not IsDefined("URL.model")>
</cfif>

  <!--- Get print details --->
  <cfinvoke
    component="Print"
    method="myPrint"
    returnvariable="getMember"
    id="#URL.id#" 
    model="#URL.model#">


    <div class=Section1>

      <cfoutput query="getMember">
        <b id="lala">#Title#</b>
        <p style="color:##1c1c1c"><i>#Body#</i></p>
      </cfoutput>      

    </div> 


</body>
</html>

.cfc 文件:

<cfcomponent>

    <cffunction name="myPrint" access="remote" returntype="query" output="no">

        <cfargument name="id" default="0" required="false" type="numeric">
        <cfargument name="model" default="" required="false" type="any">
        <cfset model = #ARGUMENTS.model#>

        <cfif model EQ "member">

        <cfquery name="getMember" datasource="rental">            
            SELECT CONCAT(rental.members.firstname,' ',rental.members.lastname) AS 'Title',rental.members.biog AS 'Body'
            FROM rental.members
            WHERE rental.members.id = #ARGUMENTS.id#
            AND rental.members.model = "#ARGUMENTS.model#"
        </cfquery>


        <!---<cfset queryToString = serializeJson(getMember)>
        <cfset strippedQuery = REReplace(queryToString,'<[^>]*>','','all')>--->

        <cfreturn getMember>



        <cfelseif model EQ "new_member">

        <cfquery name="getMember" datasource="rental">            
            SELECT CONCAT(rental.new_members.firstname,' ',rental.new_members.lastname) AS 'Title',rental.new_members.biog  AS 'Body' 
            FROM rental.new_members
            WHERE rental.new_members.id = #ARGUMENTS.id#
            AND rental.new_members.model = "#ARGUMENTS.model#"
        </cfquery>

        <cfreturn getMember>


        <cfelseif model EQ "book">

        <cfquery name="getMember" datasource="rental">            
            SELECT rental.books.title AS 'Title',rental.books.description AS 'Body'
            FROM rental.books
            WHERE rental.books.id = #ARGUMENTS.id#
            AND rental.books.model = "#ARGUMENTS.model#"
        </cfquery>

        <cfreturn getMember>


        <cfelseif model EQ "journal">

        <cfquery name="getMember" datasource="rental">            
            SELECT rental.journals.title AS 'Title',rental.journals.description AS 'Body'
            FROM rental.journals
            WHERE rental.journals.id = #ARGUMENTS.id#
            AND rental.journals.model = "#ARGUMENTS.model#"
        </cfquery>

        <cfreturn getMember>


        <cfelseif model EQ "cd">

        <cfquery name="getMember" datasource="rental">            
            SELECT rental.cd.title AS 'Title',rental.cd.description AS 'Body'
            FROM rental.cd
            WHERE rental.cd.id = #ARGUMENTS.id#
            AND rental.cd.model = "#ARGUMENTS.model#"
        </cfquery>

        <cfreturn getMember>

        </cfif>

    </cffunction>

</cfcomponent>

当我尝试你的pastebin示例时,我也得到了乱码。看起来你已经放弃了<meta>指定 utf-8 的标签。当我将其添加回来时,这些字符在 MS Word 中正确显示。

<cfprocessingdirective pageencoding="utf-8">
<cfheader name="Content-Disposition" value="inline; filename=Save-Print.doc" charset="utf-8">
<cfcontent type="application/msword; charset=utf-8">
<html xmlns:o="urn:schemas-microsoft-com:office:office"
      xmlns:w="urn:schemas-microsoft-com:office:word" 
      xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Print</title>
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ColdFusion、MS Word 文档和希腊字符 的相关文章

随机推荐

  • 等待 async void 方法

    我怎样才能等待async void方法来完成它的工作 例如 我有一个如下所示的函数 async void LoadBlahBlah await blah 现在我想确保在继续其他地方之前所有内容都已加载 最佳实践是标记功能async void
  • 使用 C 库导入 Swift 模块

    我按照以下说明编写了 Curses 包装器模块这一页 但是 我不知道如何使其在使用它的模块中正确工作 我有 3 个并行目录 Curses Curses Wrapper ModuleUsingCurses Wrapper CCurses 包含
  • POST 到服务器,接收 PDF,使用 jQuery 交付给用户

    我有一个链接 用户单击该链接即可获取 PDF 在 jQuery 中 我创建了一个对服务器的 POST ajax 调用来获取 PDF PDF 带有正确的内容标题等 通常会导致浏览器打开 Reader 插件 或允许用户保存 PDF 由于我通过
  • iOS 内存泄漏

    我运行了 Leaks 工具来测试我的应用程序是否有任何泄漏 它显示我有一些泄漏 我不是修复泄漏的专家 我想知道是否 我有泄漏 并且 我应该做什么来解决它 你看起来似乎有泄漏 但看起来并不严重 您可以单击内存地址旁边的小箭头 它应该会显示一个
  • Python - 为什么在类中使用“self”?

    这两个类有何不同 class A x 3 class B def init self self x 3 有什么显着差异吗 A x is a 类变量 B s self x is an 实例变量 i e A s x在实例之间共享 通过像列表这样
  • 正确设置动态下拉菜单的回调

    我正在尝试创建一个 Dash 仪表板 其中一个框中的下拉选项取决于之前的下拉选择 该数据由两个字典组成 每个字典有两个键 每个键都包含一个带有几列的数据框 确切数据 from jupyter dash import JupyterDash
  • 如何创建一个胖罐子?

    有了SpringBoot 你就拥有了 SpringBootApplication注解 但是与简洁的 Java Spark 框架等效的是什么呢 IntelliJ 创建了一个 Maven 项目 我添加了 Spark 依赖项 但运行安装目标时 我
  • 如何为结构的可变引用中的字段交换新值?

    我有一个带有字段的结构 struct A field SomeType Given a mut A 我怎样才能移动的值field并交换一个新值 fn foo a mut A let mut my local var a field a fi
  • php 中 var-export 函数的反义词是什么?

    我通过 将变量导出到文本区域变量导出 schools true 这样用户就可以编辑它 然后我想用所做的更改来 更新 变量 更新是通过 POST 方法接收的 我有一些text我想要成为变量 我怎样才能做到这一点 我现在所做的是在 php 文件
  • 如何在 CultureInfo(c#) 中显示尼日利亚奈拉符号

    我想显示带有尼日利亚货币符号的金额 即 N 带有双删除线 我已经尝试过 ff 段代码 它只显示带有 N 的金额 而不是带有正确的符号 N 带有双删除线 IFormatProvider currencyFormat new System Gl
  • Outlook REST API - getFolders 不返回所有文件夹

    我刚刚开始使用 Outlook REST API 我的基准是使用node outlook的教程 第一个任务是检索我的邮件帐户中的所有文件夹 所以我发出这个 REST 请求 GET https outlook office com api v
  • UTF-8 和 os.listdir()

    我在处理包含 字符的文件时遇到了一些麻烦 即 xC8 x99采用 UTF 8 拉丁文小写字母 S 下面带逗号 我正在创建一个 txt文件并尝试将其恢复os listdir 很遗憾 os listdir 将其返回为s xCC xA6 s 下面
  • 何时使用 toString() 方法

    这听起来可能非常基本 有人可以解释一下toString 方法以及何时有效使用该方法 在谷歌上进行了搜索 但找不到任何好的资源 在大多数语言中 toString或者等效的方法只是保证一个对象可以用文本表示 这对于日志记录 调试或任何其他需要能
  • Android:FragmentTabHost - java.lang.IllegalArgumentException:您必须指定一种创建选项卡内容的方法

    我在课堂上有以下内容用于创建FragmentTabHost public class TabsActivity extends FragmentActivity private FragmentTabHost mTabHost Overri
  • 双向重复测量ANOVA python函数

    预先感谢您的任何答复 我想在 python 中进行 2 路重复测量方差分析 其中一个 IV 有 5 个级别 其他 4 个级别 有一个 DV 我尝试查看 scipy 文档和一些在线博客 但似乎找不到任何东西 您可以使用rm anovaPino
  • 我希望能够通过网络从 BIOS 提取错误日志

    我希望能够通过网络从 BIOS 提取错误日志 查看 MSDN 中的 Win32 BIOS 我没有看到任何定义错误日志的内容 很乐意在 C 中使用 WMI 来完成此操作 但我愿意接受建议 是否可以 Win32 BIOS 没有包含 BIOS 错
  • 为什么在 PHP 中使用 ORM?

    最近开始学习ORM 突然想到一个问题 PHP 应用程序主要使用 MySql 和 Sqlite 几乎所有 PHP 服务器都安装了它们 那么是否值得在 PHP 中使用 ORM 来独立于数据库呢 性能怎么样 数据库独立性并不是使用 ORM 的主要
  • Jquery 自动完成 - 无结果消息

    我希望自动完成在下拉列表中显示 无结果 如果没有找到结果 则列出 我的情况就像 JQuery 默认示例 function var availableTags ActionScript AppleScript Asp BASIC C C Cl
  • R Shiny:Vtree 图未使用 Shiny 渲染

    如何在闪亮中使用 vtree 包 尝试从服务器端渲染时 没有出现所需的绘图 我的代码 library shiny library vtree Define UI ui lt pageWithSidebar App title headerP
  • ColdFusion、MS Word 文档和希腊字符

    我正在尝试从数据库动态构建 Word 文档 我使用 CFC 进行查询处理 我的努力是成功的 但我只能复制英语文档 但是 我的应用程序使用希腊语 当我尝试构建包含希腊字符的文档时 输出如下所示 我尝试了很多事情但没有任何效果 这里奇怪的是 当