亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? stringregressiontest.java

?? mysql jdbc驅(qū)動程序 mysql jdbc驅(qū)動程序 mysql jdbc驅(qū)動程序 mysql jdbc驅(qū)動程序
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* Copyright (C) 2002-2004 MySQL AB This program is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as  published by the Free Software Foundation. There are special exceptions to the terms and conditions of the GPL  as it is applied to this software. View the full text of the  exception in file EXCEPTIONS-CONNECTOR-J in the directory of this  software distribution. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */package testsuite.regression;import java.io.ByteArrayOutputStream;import java.io.PrintStream;import java.sql.Clob;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.Statement;import java.util.Properties;import testsuite.BaseTestCase;import com.mysql.jdbc.CharsetMapping;import com.mysql.jdbc.StringUtils;/** * Tests for regressions of bugs in String handling in the driver. *  * @author Mark Matthews * @version StringRegressionTest.java,v 1.1 2002/11/04 14:58:25 mark_matthews *          Exp */public class StringRegressionTest extends BaseTestCase {	/**	 * Creates a new StringTest object.	 * 	 * @param name	 *            DOCUMENT ME!	 */	public StringRegressionTest(String name) {		super(name);	}	/**	 * Runs all test cases in this test suite	 * 	 * @param args	 */	public static void main(String[] args) {		junit.textui.TestRunner.run(StringRegressionTest.class);	}	/**	 * Tests character conversion bug.	 * 	 * @throws Exception	 *             if there is an internal error (which is a bug).	 */	public void testAsciiCharConversion() throws Exception {		byte[] buf = new byte[10];		buf[0] = (byte) '?';		buf[1] = (byte) 'S';		buf[2] = (byte) 't';		buf[3] = (byte) 'a';		buf[4] = (byte) 't';		buf[5] = (byte) 'e';		buf[6] = (byte) '-';		buf[7] = (byte) 'b';		buf[8] = (byte) 'o';		buf[9] = (byte) 't';		String testString = "?State-bot";		String convertedString = StringUtils.toAsciiString(buf);		for (int i = 0; i < convertedString.length(); i++) {			System.out.println((byte) convertedString.charAt(i));		}		assertTrue("Converted string != test string", testString				.equals(convertedString));	}	/**	 * Tests fix for BUG#4010 -- GBK encoding getting escaped doubly when	 * database default character set is GBK. Requires version older than 4.1.0	 * and server set to default character set of 'gbk' to run.	 * 	 * @throws Exception	 *             if the test fails.	 */	public void testBug4010() throws Exception {		if (!versionMeetsMinimum(4, 1)) {			if ("GBK".equalsIgnoreCase(getMysqlVariable("character_set"))) {				String origString = "\u603d";				Properties props = new Properties();				props.put("useUnicode", "true");				props.put("characterEncoding", "GBK");				Connection unicodeConn = getConnectionWithProps(props);				Statement unicodeStmt = unicodeConn.createStatement();				PreparedStatement unicodePstmt = unicodeConn						.prepareStatement("INSERT INTO testBug4010 VALUES (?)");				try {					unicodeStmt							.executeUpdate("DROP TABLE IF EXISTS testBug4010");					unicodeStmt							.executeUpdate("CREATE TABLE testBug4010 (field1 varchar(10))");					unicodePstmt.setString(1, origString);					unicodePstmt.executeUpdate();					this.rs = unicodeStmt							.executeQuery("SELECT * FROM testBug4010");					assertTrue(this.rs.next());					String stringFromDb = this.rs.getString(1);					assertTrue("Retrieved string != sent string", origString							.equals(stringFromDb));				} finally {					unicodeStmt							.executeUpdate("DROP TABLE IF EXISTS testBug4010");					unicodeStmt.close();					unicodePstmt.close();					unicodeConn.close();				}			} else {				System.err						.println("WARN: Test not valid for servers not running GBK encoding");			}		} else {			System.err					.println("WARN: Test not valid for MySQL version > 4.1.0, skipping");		}	}	/**	 * Tests for regression of encoding forced by user, reported by Jive	 * Software	 * 	 * @throws Exception	 *             when encoding is not supported (which is a bug)	 */	public void testEncodingRegression() throws Exception {		Properties props = new Properties();		props.put("characterEncoding", "UTF-8");		props.put("useUnicode", "true");		DriverManager.getConnection(dbUrl, props).close();	}	/**	 * Tests fix for BUG#879	 * 	 * @throws Exception	 *             if the bug resurfaces.	 */	public void testEscapeSJISDoubleEscapeBug() throws Exception {		if (!isRunningOnJdk131()) {			String testString = "'It\\'s a boy!'";			byte[] testStringAsBytes = testString.getBytes("SJIS");			byte[] escapedStringBytes = StringUtils					.escapeEasternUnicodeByteStream(testStringAsBytes,							testString, 0, testString.length());			String escapedString = new String(escapedStringBytes, "SJIS");			assertTrue(testString.equals(escapedString));			byte[] origByteStream = new byte[] { (byte) 0x95, (byte) 0x5c,					(byte) 0x8e, (byte) 0x96, (byte) 0x5c, (byte) 0x62,					(byte) 0x5c };			String origString = "\u955c\u8e96\u5c62\\";			byte[] newByteStream = StringUtils.escapeEasternUnicodeByteStream(					origByteStream, origString, 0, origString.length());			assertTrue((newByteStream.length == (origByteStream.length + 2))					&& (newByteStream[1] == 0x5c) && (newByteStream[2] == 0x5c)					&& (newByteStream[5] == 0x5c) && (newByteStream[6] == 0x5c));			origByteStream = new byte[] { (byte) 0x8d, (byte) 0xb2,					(byte) 0x93, (byte) 0x91, (byte) 0x81, (byte) 0x40,					(byte) 0x8c, (byte) 0x5c };			testString = new String(origByteStream, "SJIS");			Properties connProps = new Properties();			connProps.put("useUnicode", "true");			connProps.put("characterEncoding", "sjis");			Connection sjisConn = getConnectionWithProps(connProps);			Statement sjisStmt = sjisConn.createStatement();			try {				sjisStmt						.executeUpdate("DROP TABLE IF EXISTS doubleEscapeSJISTest");				sjisStmt						.executeUpdate("CREATE TABLE doubleEscapeSJISTest (field1 BLOB)");				PreparedStatement sjisPStmt = sjisConn						.prepareStatement("INSERT INTO doubleEscapeSJISTest VALUES (?)");				sjisPStmt.setString(1, testString);				sjisPStmt.executeUpdate();				this.rs = sjisStmt						.executeQuery("SELECT * FROM doubleEscapeSJISTest");				this.rs.next();				String retrString = this.rs.getString(1);				System.out.println(retrString.equals(testString));			} finally {				sjisStmt						.executeUpdate("DROP TABLE IF EXISTS doubleEscapeSJISTest");			}		}	}	/**	 * DOCUMENT ME!	 * 	 * @throws Exception	 *             DOCUMENT ME!	 */	public void testGreekUtf8411() throws Exception {		if (versionMeetsMinimum(4, 1)) {			try {				Properties newProps = new Properties();				newProps.put("useUnicode", "true");				newProps.put("characterEncoding", "UTF-8");				Connection utf8Conn = this.getConnectionWithProps(newProps);				Statement utfStmt = utf8Conn.createStatement();				utfStmt.executeUpdate("DROP TABLE IF EXISTS greekunicode");				utfStmt						.executeUpdate("CREATE TABLE greekunicode(ID INTEGER NOT NULL "								+ " AUTO_INCREMENT,UpperCase VARCHAR (30),LowerCase VARCHAR (30),Accented "								+ " VARCHAR (30),Special VARCHAR (30),PRIMARY KEY(ID)) TYPE = InnoDB, DEFAULT "								+ "CHARACTER SET utf8");				String upper = "\u0394\u930F\u039A\u0399\u039C\u0397";				String lower = "\u03B4\u03BF\u03BA\u03B9\u03BC\u03B7";				String accented = "\u03B4\u03CC\u03BA\u03AF\u03BC\u03AE";				String special = "\u037E\u03C2\u03B0";				utfStmt.executeUpdate("INSERT INTO greekunicode VALUES "						+ "('1','" + upper + "','" + lower + "','" + accented						+ "','" + special + "')");				this.rs = utfStmt						.executeQuery("SELECT UpperCase, LowerCase, Accented, Special from greekunicode");				this.rs.next();				assertTrue(upper.equals(this.rs.getString(1)));				assertTrue(lower.equals(this.rs.getString(2)));				assertTrue(accented.equals(this.rs.getString(3)));				assertTrue(special.equals(this.rs.getString(4)));			} finally {				this.stmt.executeUpdate("DROP TABLE IF EXISTS greekunicode");			}		}	}	/**	 * Tests that 'latin1' character conversion works correctly.	 * 	 * @throws Exception	 *             if any errors occur	 */	public void testLatin1Encoding() throws Exception {		char[] latin1Charset = { 0x0000, 0x0001, 0x0002, 0x0003, 0x0004,				0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C,				0x000D, 0x000E, 0x000F, 0x0010, 0x0011, 0x0012, 0x0013, 0x0014,				0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C,				0x001D, 0x001E, 0x001F, 0x0020, 0x0021, 0x0022, 0x0023, 0x0024,				0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C,				0x002D, 0x002E, 0x002F, 0x0030, 0x0031, 0x0032, 0x0033, 0x0034,				0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C,				0x003D, 0x003E, 0x003F, 0x0040, 0x0041, 0x0042, 0x0043, 0x0044,				0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C,				0x004D, 0x004E, 0x004F, 0x0050, 0x0051, 0x0052, 0x0053, 0x0054,				0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C,				0x005D, 0x005E, 0x005F, 0x0060, 0x0061, 0x0062, 0x0063, 0x0064,				0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C,				0x006D, 0x006E, 0x006F, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074,				0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C,				0x007D, 0x007E, 0x007F, 0x0080, 0x0081, 0x0082, 0x0083, 0x0084,				0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008A, 0x008B, 0x008C,				0x008D, 0x008E, 0x008F, 0x0090, 0x0091, 0x0092, 0x0093, 0x0094,				0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009A, 0x009B, 0x009C,				0x009D, 0x009E, 0x009F, 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4,				0x00A5, 0x00A6, 0x00A7, 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC,				0x00AD, 0x00AE, 0x00AF, 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4,				0x00B5, 0x00B6, 0x00B7, 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC,				0x00BD, 0x00BE, 0x00BF, 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4,				0x00C5, 0x00C6, 0x00C7, 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC,				0x00CD, 0x00CE, 0x00CF, 0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4,				0x00D5, 0x00D6, 0x00D7, 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC,				0x00DD, 0x00DE, 0x00DF, 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4,				0x00E5, 0x00E6, 0x00E7, 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC,				0x00ED, 0x00EE, 0x00EF, 0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4,				0x00F5, 0x00F6, 0x00F7, 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC,				0x00FD, 0x00FE, 0x00FF };		String latin1String = new String(latin1Charset);		PreparedStatement pStmt = null;		try {			this.stmt.executeUpdate("DROP TABLE IF EXISTS latin1RegressTest");			this.stmt					.executeUpdate("CREATE TABLE latin1RegressTest (stringField TEXT)");			pStmt = this.conn					.prepareStatement("INSERT INTO latin1RegressTest VALUES (?)");			pStmt.setString(1, latin1String);			pStmt.executeUpdate();			((com.mysql.jdbc.Connection) this.conn).setTraceProtocol(true);			this.rs = this.stmt.executeQuery("SELECT * FROM latin1RegressTest");			((com.mysql.jdbc.Connection) this.conn).setTraceProtocol(false);			this.rs.next();			String retrievedString = this.rs.getString(1);			System.out.println(latin1String);			System.out.println(retrievedString);			if (!retrievedString.equals(latin1String)) {				int stringLength = Math.min(retrievedString.length(),						latin1String.length());				for (int i = 0; i < stringLength; i++) {					char rChar = retrievedString.charAt(i);					char origChar = latin1String.charAt(i);					if ((rChar != '?') && (rChar != origChar)) {						fail("characters differ at position "								+ i								+ "'"								+ rChar								+ "' retrieved from database, original char was '"								+ origChar + "'");					}				}			}		} finally {			if (this.rs != null) {				try {					this.rs.close();				} catch (Exception ex) {					// ignore				}			}			if (pStmt != null) {				try {					pStmt.close();				} catch (Exception ex) {					// ignore				}			}			this.stmt.executeUpdate("DROP TABLE IF EXISTS latin1RegressTest");		}	}	/**	 * Tests newline being treated correctly.	 * 	 * @throws Exception	 *             if an error occurs	 */	public void testNewlines() throws Exception {		String newlineStr = "Foo\nBar\n\rBaz";		this.stmt.executeUpdate("DROP TABLE IF EXISTS newlineRegressTest");		this.stmt				.executeUpdate("CREATE TABLE newlineRegressTest (field1 MEDIUMTEXT)");		try {			this.stmt.executeUpdate("INSERT INTO newlineRegressTest VALUES ('"					+ newlineStr + "')");			this.pstmt = this.conn					.prepareStatement("INSERT INTO newlineRegressTest VALUES (?)");			this.pstmt.setString(1, newlineStr);			this.pstmt.executeUpdate();			this.rs = this.stmt					.executeQuery("SELECT * FROM newlineRegressTest");			while (this.rs.next()) {				assertTrue(this.rs.getString(1).equals(newlineStr));			}		} finally {			this.stmt.executeUpdate("DROP TABLE IF EXISTS newlineRegressTest");		}	}	/**	 * Tests that single-byte character conversion works correctly.	 * 	 * @throws Exception	 *             if any errors occur	 */	// TODO: Use Unicode Literal escapes for this, for now, this test is	// broken :(	/*	 * public void testSingleByteConversion() throws Exception {	 * testConversionForString("latin1", "??? ????");	 * testConversionForString("latin1", "Kaarle ??nis Ilmari");	 * testConversionForString("latin1",	 * "??????????????????"); }	 */	/**	 * Tests that the 0x5c escaping works (we didn't use to have this).	 * 	 * @throws Exception	 *             if an error occurs.	 */	public void testSjis5c() throws Exception {		byte[] origByteStream = new byte[] { (byte) 0x95, (byte) 0x5c,				(byte) 0x8e, (byte) 0x96 };		//		// Print the hex values of the string		//		StringBuffer bytesOut = new StringBuffer();		for (int i = 0; i < origByteStream.length; i++) {			bytesOut.append(Integer.toHexString(origByteStream[i] & 255));			bytesOut.append(" ");		}		System.out.println(bytesOut.toString());

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女任你摸久久| 国产精品欧美极品| 日本中文字幕不卡| 欧美久久一二区| 毛片一区二区三区| 久久久噜噜噜久久中文字幕色伊伊| 国产乱码一区二区三区| 国产精品区一区二区三| 91美女视频网站| 视频在线在亚洲| 久久精品视频一区二区三区| 成人午夜大片免费观看| 亚洲综合视频网| 欧美一区二区三区公司| 国产精品亚洲专一区二区三区 | 国产精品一区二区久久不卡| 久久久久久久国产精品影院| 99re视频精品| 日韩国产一二三区| 欧美精彩视频一区二区三区| 在线一区二区三区四区| 蜜桃视频在线一区| 亚洲视频一二三| 日韩一区和二区| av动漫一区二区| 青青草一区二区三区| 久久国产尿小便嘘嘘| 国产农村妇女精品| 欧美日韩精品久久久| 国产白丝精品91爽爽久久| 亚洲综合在线电影| 国产亚洲一本大道中文在线| 欧美色视频在线| 国产精品18久久久| 日本亚洲最大的色成网站www| 中文字幕高清不卡| 欧美xxxx老人做受| 91福利视频在线| 成人av网站免费| 精品一区二区三区的国产在线播放| 亚洲欧美日韩国产成人精品影院 | 99久久婷婷国产综合精品电影| 午夜亚洲国产au精品一区二区 | 一区二区三区欧美亚洲| 精品久久久久久最新网址| 欧美影院一区二区三区| 不卡大黄网站免费看| 老汉av免费一区二区三区| 亚洲国产精品久久一线不卡| 国产精品福利影院| 国产日韩欧美精品一区| 日韩精品在线一区二区| 欧美精品久久99久久在免费线| 国产日韩欧美综合一区| 91精品视频网| 欧美性一区二区| 色综合天天做天天爱| 成人性生交大片免费看在线播放| 青青草原综合久久大伊人精品| 亚洲va天堂va国产va久| 一区二区三区四区国产精品| 亚洲欧洲精品一区二区三区不卡| 国产欧美日韩久久| 26uuu精品一区二区在线观看| 日韩欧美一级特黄在线播放| 欧美精品99久久久**| 欧美精品久久天天躁| 欧美日本一区二区三区四区| 91久久精品一区二区三区| 色天使色偷偷av一区二区| 91麻豆精品秘密| 色综合天天综合网国产成人综合天| eeuss国产一区二区三区| 成人小视频免费观看| 风流少妇一区二区| 成人97人人超碰人人99| av成人老司机| 欧美专区日韩专区| 欧美另类变人与禽xxxxx| 6080午夜不卡| 日韩精品一区二区三区三区免费| 欧美成人激情免费网| 久久久久久久综合狠狠综合| 国产亚洲精品bt天堂精选| 欧美高清在线精品一区| 1024精品合集| 亚洲一区二区三区中文字幕| 午夜伦理一区二区| 精品在线视频一区| 国产99精品国产| 99久久精品国产观看| 欧美午夜在线一二页| 欧美一个色资源| 久久久久国产精品麻豆ai换脸| 中文字幕免费不卡| 亚洲免费观看高清在线观看| 亚洲bt欧美bt精品777| 国产在线精品一区二区不卡了| 国产福利电影一区二区三区| 99re成人在线| 欧美高清性hdvideosex| 国产亲近乱来精品视频| 亚洲色图欧美在线| 三级在线观看一区二区 | 大白屁股一区二区视频| 91一区二区在线观看| 欧美精品日日鲁夜夜添| 国产欧美日韩在线视频| 亚洲福利电影网| 国产酒店精品激情| 色婷婷av一区二区三区gif| 欧美一区二区三区的| 中文字幕亚洲区| 日本va欧美va瓶| 99热国产精品| 欧美一区二区三区电影| 国产精品久久久久久久久免费桃花| 午夜精品福利在线| 国产成人av电影| 欧美精品一二三区| 亚洲丝袜精品丝袜在线| 久久99精品久久久久| 在线观看日韩国产| 国产婷婷色一区二区三区 | 日韩视频在线一区二区| 国产精品欧美一级免费| 美女在线视频一区| 91猫先生在线| 久久一区二区三区四区| 婷婷中文字幕综合| 白白色亚洲国产精品| 91精品国产品国语在线不卡| 亚洲私人黄色宅男| 国产一区二区精品在线观看| 欧美人与禽zozo性伦| 亚洲人一二三区| 国产精品一区2区| 日韩欧美美女一区二区三区| 亚洲综合无码一区二区| 粉嫩aⅴ一区二区三区四区五区 | 丰满少妇久久久久久久| 日韩午夜激情视频| 亚洲成人第一页| 91久久精品一区二区二区| 国产精品视频一区二区三区不卡| 日本va欧美va瓶| 宅男噜噜噜66一区二区66| 亚洲综合色成人| 色综合天天天天做夜夜夜夜做| 国产亚洲精久久久久久| 久久精品国产99国产精品| 欧美老女人在线| 亚洲一二三四区| 在线免费观看日本一区| 亚洲精品国产一区二区精华液| 不卡的电影网站| 中文字幕视频一区二区三区久| 国产91精品久久久久久久网曝门| 精品国内片67194| 国产一区二区三区视频在线播放| 日韩欧美在线综合网| 日韩精品一二三四| 日韩一区二区在线观看视频| 日韩—二三区免费观看av| 欧美精品v国产精品v日韩精品| 午夜一区二区三区视频| 制服丝袜亚洲网站| 蜜臀99久久精品久久久久久软件| 欧美一级电影网站| 国产揄拍国内精品对白| 久久久久久久久久电影| 成人一区二区三区| 亚洲伦理在线精品| 91传媒视频在线播放| 天天色图综合网| 日韩欧美高清在线| 国产在线视频精品一区| 日本一二三四高清不卡| 93久久精品日日躁夜夜躁欧美| 亚洲男人电影天堂| 欧美日韩激情一区二区| 麻豆91免费看| 国产三级三级三级精品8ⅰ区| 成人午夜视频在线| 亚洲精品免费在线| 欧美性生活大片视频| 美国十次了思思久久精品导航| 久久久久久久电影| 色综合天天在线| 蜜桃精品视频在线观看| 欧美激情一区二区三区不卡| 色综合久久九月婷婷色综合| 亚洲成a人v欧美综合天堂下载| 日韩欧美电影在线| 成人高清免费观看| 香港成人在线视频| 国产日韩欧美一区二区三区综合| 日本电影欧美片| 久久精品国产免费看久久精品| 国产精品卡一卡二|