热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

svn"cannotsetLC_CTYPElocale"问题以及LANG,LC_CTYPE,LC_ALL值的设置

今天在linux环境下svn检出时报这个错误,错误信息如下:$svnsvn:warning:cannotsetLC_CTYPElocalesvn:warning:environment

今天在linux环境下svn检出时报这个错误,错误信息如下:

$ svn
svn: warning: cannot set LC_CTYPE locale
svn: warning: environment variable LANG is en_US.UTF-8
svn: warning: please check that your locale name is correct
Type 'svn help' for usage.
从网上找了两篇文章,一篇讲解原因,一篇展示解决方式,所以把两个文章copy到一起具体见下面:

1、原因分析文章:

当下,应用程序的国际化(或本地化)的要求逐步显现。支持unicode,也就逐步成为应用程序(特别是那些应用广泛的程序)的必然趋势,例如,GNU就将(更好的)支持unicode作为emacs23的一个亮点。这些变化,对我们中国的程序员以及软件用户来说,都是上好的消息。

问题的另一方面是,不是所有的现有程序都(很好)的支持unicode。很多应用程序,还是主要面向ASCII编码的。能够支持unicode编码的程序,为了提供向后兼容性,其中一些提供了一个启动参数、或配置参数,来启动对unicode的支持。如果没有应用这个特定的参数,程序将不支持unicode。

一些应用程序,特别是那些有较久历史的程序,默认配置通常是面向ASCII编码的,如GCC。这样的话,一些unicode编码的文本,就显示为乱码。如果你在LANG=en_US.utf8的Linux系统上使用过gcc4.2.4(3)及以上版本的话,你就肯定会有这方面的经历。GCC产生的编译错误和警告消息里,包含一堆乱码,有时候几乎可以让你无法阅读理解。

如果你想要一个支持unicode的工作环境,在Linux系统中,有标题所示的3个全局环境变量:LANG, LC_CTYPE, LC_ALL。通过设置这些环境变量,可以在系统范围中启动应用程序对unicode的支持(至少向所有应用程序表达了这个愿望)。但是,这里有一个糟糕的问题:如果系统中一些应用程序对unicode的支持并不全面(甚至不支持unicode,而只面向ASCII),那么通过设置这些环境变量,特别是LANG,就可能给这些程序带来一些干扰。

例如,如果将LANG=zh_CN.UTF-8,当你使用svn的时候,就可能有如下警告:
svn: warning: cannot set LC_CTYPE locale
svn: warning: environment variable LANG is zh_CN.UTF-8
svn: warning: please check that your locale name is correct
事实上,我们可以分别设置LANG, LC_CTYPE, LC_ALL,以求取得一个影响最小的解决方法,使得:1)能够启动应用程序对unicode的支持,如果他们真的支持的话;2)不干扰那些对unicode支持不全面的应用程序。

我的经验是,尽量不去改动LANG,而根据系统的具体配置,设置LC_CTYPE及LC_ALL。例如,将LC_ALL=C,而保留LANG=en_US.UTF-8,那么就能使GCC产生用户友好的编译错误及警告消息,又能与svn等相安无事。

2、解决方式:解决方法很简单,修改/etc/profile:

sudo vi /etc/profile
加入一行:
export LC_ALL=C
source /etc/profile

自己服务器配置信息展示如下:

LANG=ZH_cn
JAVA_HOME=/usr/java/jdk
ANT_HOME=/usr/java/ant
PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME ANT_HOME PATH CLASSPATH

export M2_HOME=/usr/local/apache-maven-3.0.5
PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
export RUN_AS_USER=root
export LC_ALL=C

ok了!!!




推荐阅读
  • 手机上编写和运行PHP代码的最佳软件推荐 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 从无到有,构建个人专属的操作系统解决方案
    操作系统(OS)被誉为程序员的三大浪漫之一,常被比喻为计算机的灵魂、大脑、内核和基石,其重要性不言而喻。本文将详细介绍如何从零开始构建个人专属的操作系统解决方案,涵盖从需求分析到系统设计、开发与测试的全过程,帮助读者深入理解操作系统的本质与实现方法。 ... [详细]
  • 在Linux环境下编译安装Heartbeat时,常遇到依赖库缺失的问题。为确保顺利安装,建议预先通过yum安装必要的开发库,如glib2-devel、libtool-ltdl-devel、net-snmp-devel、bzip2-devel和ncurses-devel等。这些库是编译过程中不可或缺的组件,能够有效避免编译错误,确保Heartbeat的稳定运行。 ... [详细]
  • Java中高级工程师面试必备:JVM核心知识点全面解析
    对于软件开发人员而言,随着技术框架的不断演进和成熟,许多高级功能已经被高度封装,使得初级开发者只需掌握基本用法即可迅速完成项目。然而,对于中高级工程师而言,深入了解Java虚拟机(JVM)的核心知识点是必不可少的。这不仅有助于优化性能和解决复杂问题,还能在面试中脱颖而出。本文将全面解析JVM的关键概念和技术细节,帮助读者全面提升技术水平。 ... [详细]
  • 本文深入探讨了IO复用技术的原理与实现,重点分析了其在解决C10K问题中的关键作用。IO复用技术允许单个进程同时管理多个IO对象,如文件、套接字和管道等,通过系统调用如`select`、`poll`和`epoll`,高效地处理大量并发连接。文章详细介绍了这些技术的工作机制,并结合实际案例,展示了它们在高并发场景下的应用效果。 ... [详细]
  • Windows环境下详细教程:如何搭建Git服务
    Windows环境下详细教程:如何搭建Git服务 ... [详细]
  • 分布式开源任务调度框架 TBSchedule 深度解析与应用实践
    本文深入解析了分布式开源任务调度框架 TBSchedule 的核心原理与应用场景,并通过实际案例详细介绍了其部署与使用方法。首先,从源码下载开始,详细阐述了 TBSchedule 的安装步骤和配置要点。接着,探讨了该框架在大规模分布式环境中的性能优化策略,以及如何通过灵活的任务调度机制提升系统效率。最后,结合具体实例,展示了 TBSchedule 在实际项目中的应用效果,为开发者提供了宝贵的实践经验。 ... [详细]
  • 《软件测试精要》深度解析与实战经验分享
    《软件测试精要》深度解析与实战经验分享,系统梳理了软件测试的核心概念与关键原则,结合实际项目中的测试经验和教训,详细探讨了测试分类、测试权衡要素、测试效率、测试覆盖率以及测试框架的引入和用例设计等内容,为读者提供了全面而实用的指导。 ... [详细]
  • 在Linux环境下,本文详细探讨了Apache服务器中CGI技术的应用与实现。首先,通过使用yum包管理器安装了必要的软件,如PHP。安装完成后,对Apache服务器进行了配置,确保CGI功能正常运行。此外,还介绍了如何编写和调试CGI脚本,以及如何在实际环境中部署这些脚本以提供动态网页内容。实验结果表明,通过合理的配置和优化,Apache服务器能够高效地支持CGI应用程序,为用户提供丰富的交互体验。 ... [详细]
  • 在《PHP应用性能优化实战指南:从理论到实践的全面解析》一文中,作者分享了一次实际的PHP应用优化经验。文章回顾了先前进行的一次优化项目,指出即使系统运行时间较长后出现的各种问题和性能瓶颈,通过采用一些通用的优化策略仍然能够有效解决。文中不仅详细阐述了优化的具体步骤和方法,还结合实例分析了优化前后的性能对比,为读者提供了宝贵的参考和借鉴。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • HTTP协议作为互联网通信的基础,其重要性不言而喻。相比JDK自带的URLConnection,HttpClient不仅提升了易用性和灵活性,还在性能、稳定性和安全性方面进行了显著优化。本文将深入解析HttpClient的使用方法与技巧,帮助开发者更好地掌握这一强大的工具。 ... [详细]
  • 探索 PHP 8.0 的重大更新:轻松获取年度月份数据
    PHP 8.0 引入了多项重要更新,包括增强的类型系统、全新的 JIT 编译器以及联合类型等特性。这些改进不仅提升了性能,还简化了开发流程。本文将重点介绍如何利用 PHP 8.0 的新功能轻松获取年度和月份数据,为开发者提供更高效、更简洁的解决方案。 ... [详细]
  • 7.2 利用关系运算符与表达式进行数值对比分析
    在C语言中,关系运算符和表达式是进行数值对比分析的基础工具。本节详细介绍了真值的概念及其在编程中的应用,包括布尔类型(_Bool)的引入,以及关系运算符的优先级。通过具体示例,展示了如何在 `while` 循环中使用关系表达式来控制程序流程。这些内容对于理解和编写高效的条件判断逻辑至关重要。 ... [详细]
author-avatar
mobiledu2502906817
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有