>  기사  >  백엔드 개발  >  데이터베이스의 지역 테이블을 지역의 중국어 이름으로 변경 -> 영어(데이터 3,000개 이상)

데이터베이스의 지역 테이블을 지역의 중국어 이름으로 변경 -> 영어(데이터 3,000개 이상)

WBOY
WBOY원래의
2016-08-30 09:36:43935검색

현재 데이터베이스 지역 테이블에 3,000개 이상의 데이터가 있습니다. 현재 필요한 것은 레코드의 각 행에 있는 지역 이름을 영어(즉, 중국어 병음)로 변환하는 동시에 저장하는 것입니다. 첨부된 사진이 더 직관적이네요

데이터베이스의 지역 테이블을 지역의 중국어 이름으로 변경 -> 영어(데이터 3,000개 이상)

중국어 라이브러리가 있는지 묻고 싶습니다. 중국어를 병음으로 변환하는 PHP 프로그램을 직접 작성하고 SQL 문을 통해 일괄 삽입합니다.
무엇을 할 수 있나요? ? 답변해주세요

답글 내용:

현재 데이터베이스 지역 테이블에 3,000개 이상의 데이터가 있습니다. 현재 필요한 것은 레코드의 각 행에 있는 지역 이름을 영어(즉, 중국어 병음)로 변환하는 동시에 저장하는 것입니다. 첨부된 사진이 더 직관적이네요

데이터베이스의 지역 테이블을 지역의 중국어 이름으로 변경 -> 영어(데이터 3,000개 이상)

중국어 라이브러리가 있는지 묻고 싶습니다. 중국어를 병음으로 변환하는 PHP 프로그램을 직접 작성하고 SQL 문을 통해 일괄 삽입합니다.
무엇을 할 수 있나요? ? 답변해주세요

<code>1、项目下需放入pinyin4j-2.5.0.jar,可再网上下载,这里不提供下载地址了

2、代码:
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;

/**  
 * 汉字转换位汉语拼音,英文字符不变  
 *  
 */  
public class Cn2Spell {   
    
    /**  
    * 汉字转换位汉语拼音首字母,英文字符不变  
    * @param chines 汉字  
    * @return 拼音  
    */  
    public static String converterToFirstSpell(String chines){          
        String pinyinName = "";   
        char[] nameChar = chines.toCharArray();   
        HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();   
        defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);   
        defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);   
        for (int i = 0; i < nameChar.length; i++) {   
            if (nameChar[i] > 128) {   
                try {   
                    pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0);   
                } catch (BadHanyuPinyinOutputFormatCombination e) {   
                    e.printStackTrace();   
                }   
            }else{   
                pinyinName += nameChar[i];   
            }   
        }   
        return pinyinName;   
    }   
    
    /**  
    * 汉字转换位汉语拼音,英文字符不变  
    * @param chines 汉字  
    * @return 拼音  
    */  
    public static String converterToSpell(String chines){           
        String pinyinName = "";   
        char[] nameChar = chines.toCharArray();   
        HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();   
        defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);   
        defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);   
        for (int i = 0; i < nameChar.length; i++) {   
            if (nameChar[i] > 128) {   
                try {   
                    pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0];   
                } catch (BadHanyuPinyinOutputFormatCombination e) {   
                    e.printStackTrace();   
                }   
            }else{   
                pinyinName += nameChar[i];   
            }   
        }   
        return pinyinName;   
    }   
       
    public static void main(String[] args) {   
        System.out.println(converterToFirstSpell("欢迎来到Java世界"));   
        System.out.println(converterToSpell("欢迎来到Java世界"));  
    }   
}  </code>

https://github.com/overtrue/p...

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.