当前位置: 首页 > 知识库问答 >
问题:

在Windows7(cmd.exe)下,是否可以在Clojure中使用GBK编码(打印字符串)?

郁高韵
2023-03-14

我想用Clojure打印一个中文字符串“”。运行时环境是Windows7,cmd.exe。默认代码页为CP936(GBK)。我可以在cmd.exe下查看GBK编码源文件,并正确显示“”,只需运行typecore.clj

我知道我可以将cmd.exe的代码页更改为65001以启用UTF-8,但我确实想知道:

    null
(defproject fibo "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.5.1"]]
  :jvm-opts ["-Dfile.encoding=utf-8"]
  :main fibo.core)
(ns fibo.core
  (:gen-class))

(defn -main
  [& args]
  ;; work around dangerous default behaviour in Clojure
  (alter-var-root #'*read-eval* (constantly false))
  (println "哈哈"))
D:...\_dev\fibo> lein run
????

共有1个答案

苏德容
2023-03-14

我想这取决于你的源文件编码。是的,我认为在Java中使用GBK有点...愚蠢。我的文件是UTF-8编码的,我在win7和Ubuntu下测试它们都显示正常。由于clojure是基于Java,而Java对GBK处理总是很差,所以我建议您始终使用UTF-8。如果必须使用GBK,一些java函数可以在GBK和UTF-8之间进行转换。

 类似资料:
  • 问题内容: 我希望换行在打印从其他位置检索的字符串时显式显示。因此,如果字符串为“ abc \ ndef”,则我不希望这种情况发生: 但是相反: 有没有一种方法可以修改打印,或修改参数,或者完全修改另一个函数来完成此任务? 问题答案: 您可以使用转义字符停止python的另一种方法是使用原始字符串,如下所示: 要么 使用的唯一问题是它将字符串放在单引号中,如果您想使用引号可以很方便

  • 问题内容: 我正在寻找一种在Java中编码字符串的方法,就像php的本机函数一样。 我试图使用JavaMails的MimeUtility库。但是我无法使该方法起作用,因为它采用OutputStream作为输入而不是字符串(我使用该函数转换了字符串)并输出了无法返回字符串的内容(我是Java noob :) 谁能给我提示如何编写将字符串转换为OutputStream并在编码后将结果输出为String

  • 问题内容: 有没有办法在scikit-learn中打印经过训练的决策树?我想为自己的论文训练决策树,并希望将论文的图片放入论文中。那可能吗? 问题答案: 有一种方法可以导出为graph_viz格式:http ://scikit- learn.org/stable/modules/generation/sklearn.tree.export_graphviz.html 因此,从在线文档中: 然后,您

  • 我遇到了一个bug,我无法将两个看似“相同”的字符串匹配在一起。例如,以下两个字符串无法匹配:“sample”和“sample”。 要复制此问题,可以在Clojure中运行以下命令。 经过一个小时的沮丧调试,我发现第二串前面有一个零宽度的空格!通过退格键将它从这个例子中删除是微不足道的。然而,我有一个正在匹配的字符串数据库,似乎有多个字符串面临这个问题。我的问题是:Clojure中有没有修剪零宽空

  • 我需要在cmd上打印这个字符。其UNICODE编码为U+26C0。我尝试了这个:system.out.print(“”);但在跑步中我得到了“?”角色谢谢。

  • 问题内容: 我必须转换一个传递查询的MSSQL存储过程: 这不起作用。我敢肯定,而不是MySQL的命令,但也不管用。 有谁知道是否有可能为MySQL提供类似JavaScript的功能? 问题答案: EXECUTE是MySQL中的有效命令。MySQL参考手册